summaryrefslogtreecommitdiff
path: root/mailinfo.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2023-12-27 22:52:24 (GMT)
committerJunio C Hamano <gitster@pobox.com>2023-12-27 22:52:24 (GMT)
commitdb2cf6f3bbab88631d98ec737591b52ae4d87251 (patch)
tree061516d04736d609fbd6857b0a9f1ff1e1e401f4 /mailinfo.c
parentf09e74175dfa5b46587dab3c5dcbad16e9586de3 (diff)
parentd1bd3a8c3424e818f4117a39fe418909e24cea5f (diff)
downloadgit-db2cf6f3bbab88631d98ec737591b52ae4d87251.zip
git-db2cf6f3bbab88631d98ec737591b52ae4d87251.tar.gz
git-db2cf6f3bbab88631d98ec737591b52ae4d87251.tar.bz2
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.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/mailinfo.c b/mailinfo.c
index 093bed5..9681864 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 {