diff options
author | René Scharfe <l.s.r@web.de> | 2017-11-02 18:27:05 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-11-03 14:45:57 +0100 |
commit | 618ec81abbda91d867ac43320c7fd3e8fcc23e78 (patch) | |
tree | bd91a28d335a1694d854e4ef1852c749b0dfb25e | |
parent | imap-send: handle NULL return of next_arg() (diff) | |
download | git-618ec81abbda91d867ac43320c7fd3e8fcc23e78.tar.xz git-618ec81abbda91d867ac43320c7fd3e8fcc23e78.zip |
imap-send: handle missing response codes gracefully
Response codes are optional. Exit parse_response_code() early if it's
passed a NULL string, indicating that we reached the end of the reply.
This avoids dereferencing said NULL pointer.
Noticed-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | imap-send.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/imap-send.c b/imap-send.c index ffbf266b2f..efa6af4b51 100644 --- a/imap-send.c +++ b/imap-send.c @@ -683,7 +683,7 @@ static int parse_response_code(struct imap_store *ctx, struct imap_cmd_cb *cb, struct imap *imap = ctx->imap; char *arg, *p; - if (*s != '[') + if (!s || *s != '[') return RESP_OK; /* no response code */ s++; if (!(p = strchr(s, ']'))) { |