From: Steve Holme Date: Sun, 24 Feb 2013 12:45:04 +0000 (+0000) Subject: imap: Simplified memcmp() in tagged response parsing X-Git-Tag: curl-7_30_0~274 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7f5824a106b926b46ebfd3d4963d9508f0fd62d1;p=thirdparty%2Fcurl.git imap: Simplified memcmp() in tagged response parsing --- diff --git a/lib/imap.c b/lib/imap.c index b2c97136df..7d978b634f 100644 --- a/lib/imap.c +++ b/lib/imap.c @@ -336,13 +336,14 @@ static bool imap_endofresp(struct connectdata *conn, char *line, size_t len, /* Do we have a tagged command response? */ if(len >= id_len + 1 && !memcmp(id, line, id_len) && line[id_len] == ' ') { - len = len - id_len - 1; + line += id_len + 1; + len -= id_len + 1; - if(len >= 2 && !memcmp(line + id_len + 1, "OK", 2)) + if(len >= 2 && !memcmp(line, "OK", 2)) *resp = 'O'; - else if(len >= 2 && !memcmp(line + id_len + 1, "NO", 2)) + else if(len >= 2 && !memcmp(line, "NO", 2)) *resp = 'N'; - else if(len >= 3 && !memcmp(line + id_len + 1, "BAD", 3)) + else if(len >= 3 && !memcmp(line, "BAD", 3)) *resp = 'B'; else { failf(conn->data, "Bad tagged response");