diff options
author | bustico | 2008-10-16 10:43:40 +0000 |
---|---|---|
committer | bustico | 2008-10-16 10:43:40 +0000 |
commit | c9de0520e4a6a96cb037eec1086f95b8f297c81f (patch) | |
tree | c967042f9c3de1ef64887d698a1fd317291ff7b3 /src | |
parent | 84628e3cb62bb1730320ebacd19a72f87a4daec3 (diff) | |
download | ivy-c-c9de0520e4a6a96cb037eec1086f95b8f297c81f.zip ivy-c-c9de0520e4a6a96cb037eec1086f95b8f297c81f.tar.gz ivy-c-c9de0520e4a6a96cb037eec1086f95b8f297c81f.tar.bz2 ivy-c-c9de0520e4a6a96cb037eec1086f95b8f297c81f.tar.xz |
fix double free error in delAllRegexpsFromDictionary
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile | 1 | ||||
-rw-r--r-- | src/ivy.c | 6 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/Makefile b/src/Makefile index c329ca4..b128233 100644 --- a/src/Makefile +++ b/src/Makefile @@ -103,6 +103,7 @@ CFLAGS_RELEASE = -O2 -Wall -Wshadow $(FPIC) ifdef DEBUG export CFLAGS += $(CFLAGS_DEBUG) + LIB:= $(LIB)/debug else export CFLAGS += $(CFLAGS_RELEASE) endif @@ -1481,8 +1481,6 @@ static void delAllRegexpsFromDictionary () for (msgSendDict=messSndByRegexp; msgSendDict ; msgSendDict=msgSendDict->hh.next) { /* on efface le binding */ IvyBindingFree (msgSendDict->binding); - /* on efface la clef (regexp source) */ - free (msgSendDict->regexp_src); /* pour chaque client abonne a cette regexp */ IVY_LIST_EACH ( msgSendDict->clientList, client) { freeClient (client); @@ -1491,6 +1489,10 @@ static void delAllRegexpsFromDictionary () IVY_LIST_EMPTY(msgSendDict->clientList); /* on enleve le couple regexp -> valeur */ HASH_DEL(messSndByRegexp, msgSendDict); + /* on efface la clef (regexp source) */ + free (msgSendDict->regexp_src); + /* on libčre la structure */ + // free (msgSendDict); } #ifdef OPENMP |