summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortradke <tradke@17b73243-c579-4c4c-a9d2-2d5706c11dac>1999-10-27 21:57:00 +0000
committertradke <tradke@17b73243-c579-4c4c-a9d2-2d5706c11dac>1999-10-27 21:57:00 +0000
commit2c15b5bab62c566efc9dd569ae5bd46b4f3f55f9 (patch)
treeccc8214aea628d2a0edf88afce609ef6e7427fd1 /src
parentca7eda52b298b5a69101aa0014de5455cf7541b0 (diff)
Check for an active handle in Util_GetHandle().
The following strcmp() crashed if an already destroyed handle was passed. git-svn-id: http://svn.cactuscode.org/flesh/trunk@1113 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'src')
-rw-r--r--src/util/StoreHandledData.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/util/StoreHandledData.c b/src/util/StoreHandledData.c
index d9e14a4e..fecc37d8 100644
--- a/src/util/StoreHandledData.c
+++ b/src/util/StoreHandledData.c
@@ -285,15 +285,18 @@ int Util_GetHandle(cHandledData *storage, const char *name, void **data)
{
for(current = 0; current < storage->array_size; current++)
{
- if(!strcmp(name, storage->array[current].name))
+ if(storage->array[current].in_use == TRUE)
{
- handle = current;
- /* Return the associated data if required. */
- if(data)
- {
- *data = storage->array[current].data;
- };
- break;
+ if(!strcmp(name, storage->array[current].name))
+ {
+ handle = current;
+ /* Return the associated data if required. */
+ if(data)
+ {
+ *data = storage->array[current].data;
+ };
+ break;
+ }
}
}
}