diff options
author | Junio C Hamano <gitster@pobox.com> | 2023-12-27 23:52:24 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-12-27 23:52:24 +0100 |
commit | db2cf6f3bbab88631d98ec737591b52ae4d87251 (patch) | |
tree | 061516d04736d609fbd6857b0a9f1ff1e1e401f4 /mailinfo.c | |
parent | Merge branch 'jc/checkout-B-branch-in-use' (diff) | |
parent | mailinfo: fix out-of-bounds memory reads in unquote_quoted_pair() (diff) | |
download | git-db2cf6f3bbab88631d98ec737591b52ae4d87251.tar.xz git-db2cf6f3bbab88631d98ec737591b52ae4d87251.zip |
Merge branch 'jk/mailinfo-oob-read-fix'
OOB read fix.
* jk/mailinfo-oob-read-fix:
mailinfo: fix out-of-bounds memory reads in unquote_quoted_pair()
Diffstat (limited to 'mailinfo.c')
-rw-r--r-- | mailinfo.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/mailinfo.c b/mailinfo.c index 093bed5d8f..9681864216 100644 --- a/mailinfo.c +++ b/mailinfo.c @@ -58,12 +58,12 @@ static void parse_bogus_from(struct mailinfo *mi, const struct strbuf *line) static const char *unquote_comment(struct strbuf *outbuf, const char *in) { - int c; int take_next_literally = 0; strbuf_addch(outbuf, '('); - while ((c = *in++) != 0) { + while (*in) { + int c = *in++; if (take_next_literally == 1) { take_next_literally = 0; } else { @@ -88,10 +88,10 @@ static const char *unquote_comment(struct strbuf *outbuf, const char *in) static const char *unquote_quoted_string(struct strbuf *outbuf, const char *in) { - int c; int take_next_literally = 0; - while ((c = *in++) != 0) { + while (*in) { + int c = *in++; if (take_next_literally == 1) { take_next_literally = 0; } else { |