-
patch_parse: fix out-of-bounds read with No-NL lines · 468e3ddc
We've got two locations where we copy lines into the patch. The first one is when copying normal " ", "-" or "+" lines, while the second location gets executed when we copy "\ No newline at end of file" lines. While the first one correctly uses `git__strndup` to copy only until the newline, the other one doesn't. Thus, if the line occurs at the end of the patch and if there is no terminating NUL character, then it may result in an out-of-bounds read. Fix the issue by using `git__strndup`, as was already done in the other location. Furthermore, add allocation checks to both locations to detect out-of-memory situations.
Patrick Steinhardt committed
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
parse.c | Loading commit data... | |
patch_common.h | Loading commit data... | |
print.c | Loading commit data... |