summaryrefslogtreecommitdiff
path: root/src/ivy.c
diff options
context:
space:
mode:
authorbustico2008-10-16 10:43:40 +0000
committerbustico2008-10-16 10:43:40 +0000
commitc9de0520e4a6a96cb037eec1086f95b8f297c81f (patch)
treec967042f9c3de1ef64887d698a1fd317291ff7b3 /src/ivy.c
parent84628e3cb62bb1730320ebacd19a72f87a4daec3 (diff)
downloadivy-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/ivy.c')
-rw-r--r--src/ivy.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/ivy.c b/src/ivy.c
index 2dd3a90..d2ba229 100644
--- a/src/ivy.c
+++ b/src/ivy.c
@@ -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