diff options
author | Steve Holme <steve_holme@hotmail.com> | 2013-03-06 19:33:49 +0000 |
---|---|---|
committer | Steve Holme <steve_holme@hotmail.com> | 2013-03-06 19:33:49 +0000 |
commit | b7f39156d4bc6307e61617db3b17af35f9cddb5a (patch) | |
tree | a714f6db9cfabc6c1bd214c694d28437b40c636a /lib | |
parent | 9d0af3018c5db25f5adda216dbcad6056b4a3107 (diff) |
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().
Diffstat (limited to 'lib')
-rw-r--r-- | lib/imap.c | 8 |
1 files changed, 7 insertions, 1 deletions
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) |