]> code.citadel.org Git - citadel.git/commitdiff
* don't steal memory from bdb structures.
authorWilfried Göesgens <willi@citadel.org>
Wed, 3 Oct 2007 19:06:42 +0000 (19:06 +0000)
committerWilfried Göesgens <willi@citadel.org>
Wed, 3 Oct 2007 19:06:42 +0000 (19:06 +0000)
citadel/citadel_dirs.h
citadel/msgbase.c

index 1eb0a1138cd7d84006aa34561386092a936d9158..16a4b6297d0083e8c0bac4c3a4c3368688f43851 100644 (file)
@@ -29,7 +29,7 @@ extern char ctdl_bbsbase_dir[PATH_MAX];
 extern char ctdl_sbin_dir[PATH_MAX];
 extern char ctdl_bin_dir[PATH_MAX];
 extern char ctdl_utilbin_dir[PATH_MAX];
-extern char ctdl_key_dir[PATH_MAX];
+
 
 
 /* some of the frequently used files */
index b5732fe881c2a8ade6335c6d70c512f37ba56ac0..e4326851bd5b904cd02c57a4834f658f797e49b0 100644 (file)
@@ -542,9 +542,7 @@ int CtdlForEachMessage(int mode, long ref, char *search_string,
        cdbfr = cdb_fetch(CDB_MSGLISTS, &CC->room.QRnumber, sizeof(long));
        if (cdbfr != NULL) {
                msglist = (long *) cdbfr->ptr;
-               cdbfr->ptr = NULL;      /* CtdlForEachMessage() now owns this memory */
                num_msgs = cdbfr->len / sizeof(long);
-               cdb_free(cdbfr);
        } else {
                if (need_to_free_re) regfree(&re);
                return 0;       /* No messages at all?  No further action. */
@@ -680,7 +678,7 @@ int CtdlForEachMessage(int mode, long ref, char *search_string,
                                ++num_processed;
                        }
                }
-       free(msglist);          /* Clean up */
+       cdb_free(cdbfr);        /* Clean up */
        if (need_to_free_re) regfree(&re);
        return num_processed;
 }