mirror of
https://git.zx2c4.com/cgit
synced 2024-11-25 18:08:41 +00:00
fix segfault when displaying empty blobs
When size is zero, subtracting one from it turns it into ULONG_MAX which causes an out-of-bounds access on buf. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
parent
6063e7b553
commit
112973615a
13
ui-tree.c
13
ui-tree.c
@ -25,11 +25,14 @@ static void print_text_buffer(char *buf, unsigned long size)
|
|||||||
html("<tr><td class='linenumbers'><pre>");
|
html("<tr><td class='linenumbers'><pre>");
|
||||||
idx = 0;
|
idx = 0;
|
||||||
lineno = 0;
|
lineno = 0;
|
||||||
htmlf(numberfmt, ++lineno);
|
|
||||||
while(idx < size - 1) { // skip absolute last newline
|
if (size) {
|
||||||
if (buf[idx] == '\n')
|
htmlf(numberfmt, ++lineno);
|
||||||
htmlf(numberfmt, ++lineno);
|
while(idx < size - 1) { // skip absolute last newline
|
||||||
idx++;
|
if (buf[idx] == '\n')
|
||||||
|
htmlf(numberfmt, ++lineno);
|
||||||
|
idx++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
html("</pre></td>\n");
|
html("</pre></td>\n");
|
||||||
html("<td class='lines'><pre><code>");
|
html("<td class='lines'><pre><code>");
|
||||||
|
Loading…
Reference in New Issue
Block a user