2005-11-12 [colin] 1.9.100cvs9
[claws.git] / src / etpan / imap-thread.c
index 97dee7c1f8d182e0ba7440c8c3ff813bab3ac696..d89d83d876a75418b4de95054ce47fb7ac96ab4f 100644 (file)
@@ -42,6 +42,8 @@ static gboolean thread_manager_event(GIOChannel * source,
 void imap_logger(int direction, const char * str, size_t size) 
 {
        gchar buf[512];
+
+       memset(buf, 0, 512);
        strncpy(buf, str, size > 510 ? 510:size);
        buf[511] = '\0';
        if (size < 511)
@@ -1721,6 +1723,8 @@ fetch_to_env_info(struct mailimap_msg_att * msg_att)
        imap_get_msg_att_info(msg_att, &uid, &headers, &size,
                              &att_dyn);
        
+       if (!headers)
+               return NULL;
        info = malloc(sizeof(* info));
        info->uid = uid;
        info->headers = strdup(headers);
@@ -1737,7 +1741,6 @@ imap_fetch_result_to_envelop_list(clist * fetch_result,
        clistiter * cur;
        unsigned int i;
        carray * env_list;
-  
        i = 0;
   
        env_list = carray_new(16);
@@ -1750,6 +1753,8 @@ imap_fetch_result_to_envelop_list(clist * fetch_result,
                msg_att = clist_content(cur);
 
                env_info = fetch_to_env_info(msg_att);
+               if (!env_info)
+                       return MAILIMAP_ERROR_MEMORY;
                carray_add(env_list, env_info, NULL);
        }
   
@@ -1815,7 +1820,7 @@ imap_get_envelopes_list(mailimap * imap, struct mailimap_set * set,
        int res;
        clist * fetch_result;
        int r;
-       carray * env_list;
+       carray * env_list = NULL;
        chashdatum key;
        chashdatum value;