summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Phillip Wood <phillip.wood@dunelm.org.uk>2018-10-04 11:07:42 +0100
committerLibravatar Junio C Hamano <gitster@pobox.com>2018-10-04 22:48:07 -0700
commitcf074a9b0e589bad8e6b210ac1e3a4714463f7db (patch)
tree3e82fe484e9cad95389df5ec3b688ddb1aa50038
parentdiff --color-moved-ws: fix double free crash (diff)
downloadtgif-cf074a9b0e589bad8e6b210ac1e3a4714463f7db.tar.xz
diff --color-moved-ws: fix out of bounds string access
When adjusting the start of the string to take account of the change in indentation the code was not checking that the string being adjusted was in fact longer than the indentation change. This was detected by asan. Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk> Reviewed-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--diff.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/diff.c b/diff.c
index 566419dc75..6f12212134 100644
--- a/diff.c
+++ b/diff.c
@@ -865,7 +865,7 @@ static int cmp_in_block_with_wsd(const struct diff_options *o,
al -= wslen;
}
- if (strcmp(a, c))
+ if (al != cl || memcmp(a, c, al))
return 1;
return 0;