]> granicus.if.org Git - neomutt/commitdiff
More atoi() fixes
authorRocco Rutte <pdmef@gmx.net>
Mon, 1 Jun 2009 11:22:17 +0000 (13:22 +0200)
committerRocco Rutte <pdmef@gmx.net>
Mon, 1 Jun 2009 11:22:17 +0000 (13:22 +0200)
hcache.c
mh.c

index 4bcaeb001a6475c4f6bff48cf8fff9831a1190d0..8b14aef1bf85dbfed7489e0b3079cd46cd605753 100644 (file)
--- a/hcache.c
+++ b/hcache.c
@@ -940,7 +940,10 @@ mutt_hcache_delete(header_cache_t *h, const char *filename,
 static int
 hcache_open_gdbm (struct header_cache* h, const char* path)
 {
-  int pagesize = atoi(HeaderCachePageSize) ? atoi(HeaderCachePageSize) : 16384;
+  int pagesize;
+
+  if (mutt_atoi (HeaderCachePageSize, &pagesize) < 0 || pagesize <= 0)
+    pagesize = 16384;
 
   h->db = gdbm_open((char *) path, pagesize, GDBM_WRCREAT, 00600, NULL);
   if (h->db)
@@ -1008,7 +1011,10 @@ hcache_open_db4 (struct header_cache* h, const char* path)
   struct stat sb;
   int ret;
   u_int32_t createflags = DB_CREATE;
-  int pagesize = atoi (HeaderCachePageSize);
+  int pagesize;
+
+  if (mutt_atoi (HeaderCachePageSize, &pagesize) < 0 || pagesize <= 0)
+    pagesize = 16384;
 
   snprintf (h->lockfile, _POSIX_PATH_MAX, "%s-lock-hack", path);
 
diff --git a/mh.c b/mh.c
index 42b1883784d711199c5f8ded5a8d5894845d09ee..ebe8cd970268346aef497a3315ac9a5889f8b24b 100644 (file)
--- a/mh.c
+++ b/mh.c
@@ -389,7 +389,8 @@ static void mh_update_sequences (CONTEXT * ctx)
     else
       p = ctx->hdrs[l]->path;
 
-    i = atoi (p);
+    if (mutt_atoi (p, &i) < 0)
+      continue;
 
     if (!ctx->hdrs[l]->read)
     {
@@ -517,7 +518,8 @@ static void mh_update_maildir (struct maildir *md, struct mh_sequences *mhs)
     else
       p = md->h->path;
 
-    i = atoi (p);
+    if (mutt_atoi (p, &i) < 0)
+      continue;
     f = mhs_check (mhs, i);
 
     md->h->read = (f & MH_SEQ_UNSEEN) ? 0 : 1;