]> code.citadel.org Git - citadel.git/blobdiff - citadel/server/msgbase.c
CtdlSaveMsgPointersInRoom() is now lmdb-safe
[citadel.git] / citadel / server / msgbase.c
index d01a50577ad5f471a6dfe44d092704ed0de43b2d..6b5aec0e1de25bd69eba548c0f954260c7a1a1a5 100644 (file)
@@ -3221,9 +3221,9 @@ int CtdlDeleteMessages(const char *room_name,     // which room
 
        if (cdbfr != NULL) {
                dellist = malloc(cdbfr->len);
-               msglist = (long *) cdbfr->ptr;
-               cdbfr->ptr = NULL;      // CtdlDeleteMessages() now owns this memory (this needs attention if we move to LMDB)
                num_msgs = cdbfr->len / sizeof(long);
+               msglist = (long *) malloc(cdbfr->len);
+               memcpy(msglist, cdbfr->ptr, cdbfr->len);
                cdb_free(cdbfr);
        }
        if (num_msgs > 0) {