1
0
mirror of https://gitea.quitesimple.org/crtxcr/cgitsb synced 2024-11-22 20:01:57 +01:00

ui-ssdiff: ban strncat()

Git version v2.21.0 marks strncat() as banned (commit
ace5707a803eda0f1dde3d776dc3729d3bc7759a), so replace it.

Signed-off-by: Christian Hesse <mail@eworm.de>
This commit is contained in:
Christian Hesse 2019-02-12 21:53:02 +01:00
parent ccba7eb9d0
commit 68de710c1c

@ -117,7 +117,7 @@ static char *replace_tabs(char *line)
int n_tabs = 0; int n_tabs = 0;
int i; int i;
char *result; char *result;
int result_len; size_t result_len;
if (linelen == 0) { if (linelen == 0) {
result = xmalloc(1); result = xmalloc(1);
@ -136,10 +136,12 @@ static char *replace_tabs(char *line)
for (;;) { for (;;) {
cur_buf = strchr(prev_buf, '\t'); cur_buf = strchr(prev_buf, '\t');
if (!cur_buf) { if (!cur_buf) {
strncat(result, prev_buf, result_len); linelen = strlen(result);
strlcpy(&result[linelen], prev_buf, result_len - linelen + 1);
break; break;
} else { } else {
strncat(result, prev_buf, cur_buf - prev_buf); linelen = strlen(result);
strlcpy(&result[linelen], prev_buf, cur_buf - prev_buf + 1);
linelen = strlen(result); linelen = strlen(result);
memset(&result[linelen], ' ', 8 - (linelen % 8)); memset(&result[linelen], ' ', 8 - (linelen % 8));
result[linelen + 8 - (linelen % 8)] = '\0'; result[linelen + 8 - (linelen % 8)] = '\0';