]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
maildir: p_strdup() GUID and UIDL_BACKEND to make sure they don't change unexpectedly.
authorTimo Sirainen <tss@iki.fi>
Mon, 8 Nov 2010 18:03:07 +0000 (18:03 +0000)
committerTimo Sirainen <tss@iki.fi>
Mon, 8 Nov 2010 18:03:07 +0000 (18:03 +0000)
src/lib-storage/index/maildir/maildir-mail.c

index e54daa6293f657f8a2ed2feb6e8d089d957ae05c..7378dcd80de6140d7963004505b2f57dd12e16f5 100644 (file)
@@ -485,7 +485,7 @@ maildir_mail_get_special(struct mail *_mail, enum mail_fetch_field field,
                guid = maildir_uidlist_lookup_ext(mbox->uidlist, _mail->uid,
                                                  MAILDIR_UIDLIST_REC_EXT_GUID);
                if (guid != NULL) {
-                       *value_r = guid;
+                       *value_r = p_strdup(mail->data_pool, guid);
                        return 0;
                }
 
@@ -524,7 +524,7 @@ maildir_mail_get_special(struct mail *_mail, enum mail_fetch_field field,
                        return maildir_mail_get_special(_mail,
                                        MAIL_FETCH_UIDL_FILE_NAME, value_r);
                } else {
-                       *value_r = uidl;
+                       *value_r = p_strdup(mail->data_pool, uidl);
                }
                return 0;
        default: