From b7f39156d4bc6307e61617db3b17af35f9cddb5a Mon Sep 17 00:00:00 2001 From: Steve Holme Date: Wed, 6 Mar 2013 19:33:49 +0000 Subject: [PATCH] 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(). --- lib/imap.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/imap.c b/lib/imap.c index 4a4f0a3c2..c2f065acb 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)