]> Pileus Git - ~andy/fetchmail/blobdiff - imap.c
First round ofmlong-delayed bug fixes.
[~andy/fetchmail] / imap.c
diff --git a/imap.c b/imap.c
index 96a6685d6f2a359e63584592b6a6e9b73a666932..3e6d80fc8ed4a45d6413b7235a4dde3af80e59d8 100644 (file)
--- a/imap.c
+++ b/imap.c
@@ -57,7 +57,10 @@ static int imap_ok(int sock, char *argbuf)
 
        /* interpret untagged status responses */
        if (strstr(buf, "* CAPABILITY"))
+       {
            strncpy(capabilities, buf + 12, sizeof(capabilities));
+           capabilities[sizeof(capabilities)-1] = '\0';
+       }
        else if (strstr(buf, "EXISTS"))
        {
            count = atoi(buf+2);
@@ -413,9 +416,8 @@ static int imap_getauth(int sock, struct query *ctl, char *greeting)
      * in a challenge-response.
      */
 
-    if ((ctl->server.authenticate == A_ANY 
-        || ctl->server.authenticate == A_CRAM_MD5)
-       && strstr(capabilities, "AUTH=CRAM-MD5"))
+    if ((ctl->server.authenticate == A_ANY && strstr(capabilities, "AUTH=CRAM-MD5"))
+       || ctl->server.authenticate == A_CRAM_MD5)
     {
        if ((ok = do_cram_md5 (sock, "AUTHENTICATE", ctl, NULL)))
        {