From adb58509833752e7cc5454f38435b244f2dfb104 Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Sun, 3 Feb 2019 18:03:13 +0100 Subject: blaze822: safe_append: avoid different signedness in comparison --- blaze822.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'blaze822.c') diff --git a/blaze822.c b/blaze822.c index 188182d..afde3c1 100644 --- a/blaze822.c +++ b/blaze822.c @@ -152,14 +152,17 @@ skip_comment(char *s) // never writes more than dstmax to dst // returns how many bytes were appended static size_t -safe_append(char *dst, size_t dstmax, char *strbeg, char *strend) +safe_append(char *dst, size_t dstmax, char *srcbeg, char *srcend) { + size_t srclen = srcend - srcbeg; size_t dstlen = strlen(dst); - if (dstmax - dstlen - 1 < strend - strbeg) - strend = strbeg + (dstmax - dstlen - 1); - memcpy(dst + dstlen, strbeg, strend - strbeg); - dst[dstlen + (strend - strbeg)] = 0; - return strend - strbeg; + + if (dstmax - dstlen - 1 < srclen) + srclen = dstmax - dstlen - 1; + memcpy(dst + dstlen, srcbeg, srclen); + dst[dstlen + srclen] = 0; + + return srclen; } static size_t -- cgit 1.4.1