* CtdlFetchMessage(): don't use strdup on a buffer we also can steal; this saves...
authorWilfried Göesgens <willi@citadel.org>
Tue, 16 Mar 2010 23:37:38 +0000 (23:37 +0000)
committerWilfried Göesgens <willi@citadel.org>
Tue, 16 Mar 2010 23:37:38 +0000 (23:37 +0000)
citadel/msgbase.c

index 1d411f4c99b8804845c11691a6ae380fc16fd3b7..1b99b9216b648745a0a5ea4d59e2a6b467d0221f 100644 (file)
@@ -1170,7 +1170,8 @@ struct CtdlMessage *CtdlFetchMessage(long msgnum, int with_body)
        if ( (ret->cm_fields['M'] == NULL) && (with_body) ) {
                dmsgtext = cdb_fetch(CDB_BIGMSGS, &msgnum, sizeof(long));
                if (dmsgtext != NULL) {
-                       ret->cm_fields['M'] = strdup(dmsgtext->ptr);
+                       ret->cm_fields['M'] = dmsgtext->ptr;
+                       dmsgtext->ptr = NULL;
                        cdb_free(dmsgtext);
                }
        }