From: Steve Holme Date: Wed, 6 Mar 2013 19:33:49 +0000 (+0000) Subject: imap: Added check for empty UID in FETCH command X-Git-Tag: curl-7_30_0~188 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b7f39156d4bc6307e61617db3b17af35f9cddb5a;p=thirdparty%2Fcurl.git imap: Added check for empty UID in FETCH command As the UID has to be specified by the user for the FETCH command to work correctly, added a check to imap_fetch(), although strictly speaking it is protected by the call from imap_perform(). --- diff --git a/lib/imap.c b/lib/imap.c index 4a4f0a3c29..c2f065acb1 100644 --- a/lib/imap.c +++ b/lib/imap.c @@ -748,9 +748,15 @@ static CURLcode imap_fetch(struct connectdata *conn) CURLcode result = CURLE_OK; struct IMAP *imap = conn->data->state.proto.imap; + /* Check we have a UID */ + if(!imap->uid) { + failf(conn->data, "Cannot FETCH without a UID."); + return CURLE_URL_MALFORMAT; + } + /* Send the FETCH command */ result = imap_sendf(conn, "FETCH %s BODY[%s]", - imap->uid ? imap->uid : "1", + imap->uid, imap->section ? imap->section : ""); if(!result)