]> granicus.if.org Git - neomutt/commitdiff
nntp: check pointers
authorRichard Russon <rich@flatcap.org>
Thu, 19 Sep 2019 20:01:13 +0000 (21:01 +0100)
committerRichard Russon <rich@flatcap.org>
Sat, 21 Sep 2019 17:03:57 +0000 (18:03 +0100)
nntp/newsrc.c

index 4b31a5519ed54489b45de21a1ea6c3788c0d49a8..9063ebc4a0f4fc956773cd1479a3931caf7afab1 100644 (file)
@@ -133,8 +133,11 @@ void nntp_newsrc_close(struct NntpAccountData *adata)
 void nntp_group_unread_stat(struct NntpMboxData *mdata)
 {
   mdata->unread = 0;
-  if ((mdata->last_message == 0) || (mdata->first_message > mdata->last_message))
+  if ((mdata->last_message == 0) ||
+      (mdata->first_message > mdata->last_message) || !mdata->newsrc_ent)
+  {
     return;
+  }
 
   mdata->unread = mdata->last_message - mdata->first_message + 1;
   for (unsigned int i = 0; i < mdata->newsrc_len; i++)
@@ -587,7 +590,7 @@ int nntp_add_group(char *line, void *data)
   mdata->last_message = last;
   mdata->allowed = (mod == 'y') || (mod == 'm');
   mutt_str_replace(&mdata->desc, desc);
-  if (mdata->newsrc_ent || mdata->last_cached)
+  if (mdata->newsrc_ent || (mdata->last_cached != 0))
     nntp_group_unread_stat(mdata);
   else if (mdata->last_message && (mdata->first_message <= mdata->last_message))
     mdata->unread = mdata->last_message - mdata->first_message + 1;