]> git.llucax.com Git - software/mutt-debian.git/blob - debian/patches/upstream/584138-mx_update_context-segfault.patch
fixing a typo in the previous patch
[software/mutt-debian.git] / debian / patches / upstream / 584138-mx_update_context-segfault.patch
1 Patch written by hhorak@, it should fix a segfault that happens when there are
2 holes due to deleted messages, this should fix both #584138 and #537694 (the
3 second as a side-effect), therefore the previous
4 upstream/537694-segv-imap-headers.patch is removed
5
6 This patch was retrieved from the original upstream bug
7 http://bugs.mutt.org/3288
8
9 --- a/imap/message.c
10 +++ b/imap/message.c
11 @@ -65,7 +65,7 @@
12    char *hdrreq = NULL;
13    FILE *fp;
14    char tempfile[_POSIX_PATH_MAX];
15 -  int msgno, idx;
16 +  int msgno, idx = msgbegin - 1;
17    IMAP_HEADER h;
18    IMAP_STATUS* status;
19    int rc, mfhrc, oldmsgcount;
20 @@ -185,7 +185,7 @@
21            continue;
22          }
23  
24 -        idx = h.sid - 1;
25 +        idx++;
26          ctx->hdrs[idx] = imap_hcache_get (idata, h.data->uid);
27          if (ctx->hdrs[idx])
28          {
29 @@ -282,13 +282,14 @@
30        {
31          dprint (2, (debugfile, "msg_fetch_header: ignoring fetch response with no body\n"));
32          mfhrc = -1;
33 +        msgend--;
34          continue;
35        }
36  
37        /* make sure we don't get remnants from older larger message headers */
38        fputs ("\n\n", fp);
39  
40 -      idx = h.sid - 1;
41 +      idx++;
42        if (idx > msgend)
43        {
44          dprint (1, (debugfile, "imap_read_headers: skipping FETCH response for "