Commit b7f39156 authored by Steve Holme's avatar Steve Holme
Browse files

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().
parent 9d0af301
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -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)