]> granicus.if.org Git - neomutt/commitdiff
fix: some more places that may get NULL pointers
authorRichard Russon <rich@flatcap.org>
Sat, 24 Dec 2016 00:26:58 +0000 (00:26 +0000)
committerRichard Russon <rich@flatcap.org>
Sat, 24 Dec 2016 00:26:58 +0000 (00:26 +0000)
curs_main.c
hdrline.c
mx.c
recvattach.c
send.c

index 13a1d169863d126e6c812381df770f76db07dccf..b6f713e32393a0d9d931e435a6816e921b676945 100644 (file)
@@ -3127,7 +3127,7 @@ int mutt_index_menu (void)
        CHECK_MSGCOUNT;
         CHECK_VISIBLE;
        mutt_view_attachments (CURHDR);
-       if (CURHDR->attach_del)
+       if (Context && CURHDR->attach_del)
          Context->changed = 1;
        menu->redraw = REDRAW_FULL;
        break;
index 1997da2a4bca11e311562503befc11e8a4f4a3d5..2e3ece7c58b160afd6886e86a7b9c6eaab6e0965 100644 (file)
--- a/hdrline.c
+++ b/hdrline.c
@@ -418,6 +418,8 @@ hdr_format_str (char *dest,
   hdr = hfi->hdr;
   ctx = hfi->ctx;
 
+  if (!hdr || !hdr->env)
+    return src;
   dest[0] = 0;
   switch (op)
   {
diff --git a/mx.c b/mx.c
index af1ae0c3905287965888cdd0888772a6ada94eaa..a6781ba4db798f5392c090309ecadd09d5208904 100644 (file)
--- a/mx.c
+++ b/mx.c
@@ -1401,6 +1401,8 @@ int mx_commit_message (MESSAGE *msg, CONTEXT *ctx)
 /* close a pointer to a message */
 int mx_close_message (CONTEXT *ctx, MESSAGE **msg)
 {
+  if (!ctx || !msg)
+    return 0;
   int r = 0;
 
   if (ctx->mx_ops && ctx->mx_ops->close_msg)
index 769c99eff66b5aec73dd2657711481227e63970c..b6fd2915e7286168091792c964f065e26b160f0d 100644 (file)
@@ -1050,6 +1050,8 @@ void mutt_view_attachments (HEADER *hdr)
   {
     if (op == OP_NULL)
       op = mutt_menuLoop (menu);
+    if (!Context)
+      return;
     switch (op)
     {
       case OP_ATTACH_VIEW_MAILCAP:
diff --git a/send.c b/send.c
index 8f9acfc0a0efc9bf6acb9ac794cbb5f35106c508..2f0c0a16f42c579f0acd2585bc81c6cbe8efc9fd 100644 (file)
--- a/send.c
+++ b/send.c
@@ -1223,6 +1223,8 @@ int mutt_resend_message (FILE *fp, CONTEXT *ctx, HEADER *cur)
 
 static int is_reply (HEADER *reply, HEADER *orig)
 {
+  if (!reply || !reply->env || !orig || !orig->env)
+    return 0;
   return mutt_find_list (orig->env->references, reply->env->message_id) ||
          mutt_find_list (orig->env->in_reply_to, reply->env->message_id);
 }