git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 6/6] xdiff: avoid signed vs. unsigned comparisons in xutils.c

From
David Aguilar <davvid@gmail.com>
Date
Feb 12, 2025, 06:04 UTC
Message-ID
<20250212060418.1645241-6-davvid@gmail.com>
In-Reply-To
<20250212060418.1645241-1-davvid@gmail.com>
The comparisons all involve comparisons against unsigned values.
Signed-off-by: David Aguilar <davvid@gmail.com>
---
 xdiff/xutils.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/xdiff/xutils.c b/xdiff/xutils.c
index 169edff5ab..444a108f87 100644
--- a/xdiff/xutils.c
+++ b/xdiff/xutils.c
@@ -20,8 +20,6 @@
  *
  */
 
-#define DISABLE_SIGN_COMPARE_WARNINGS
-
 #include "xinclude.h"
 
 
@@ -377,7 +375,7 @@ static int xdl_format_hunk_hdr(long s1, long c1, long s2, long c2,
 	nb += 3;
 	if (func && funclen) {
 		buf[nb++] = ' ';
-		if (funclen > sizeof(buf) - nb - 1)
+		if ((size_t)funclen > sizeof(buf) - nb - 1)
 			funclen = sizeof(buf) - nb - 1;
 		memcpy(buf + nb, func, funclen);
 		nb += funclen;
@@ -439,7 +437,7 @@ void* xdl_alloc_grow_helper(void *p, long nr, long *alloc, size_t size)
 {
 	void *tmp = NULL;
 	size_t n = ((LONG_MAX - 16) / 2 >= *alloc) ? 2 * *alloc + 16 : LONG_MAX;
-	if (nr > n)
+	if ((size_t)nr > n)
 		n = nr;
 	if (SIZE_MAX / size >= n)
 		tmp = xdl_realloc(p, n * size);
-- 
2.48.1.643.g61982db19f
Previous: David Aguilar
Message 6 of 6 in “xdiff: move sign comparison warning guard into each file”
  1. 1/6 xdiff: move sign comparison warning guard into each fileDavid Aguilar, Feb 12, 2025
  2. 2/6 xdiff: avoid signed vs. unsigned comparisons in xdiffi.cDavid Aguilar, Feb 12, 2025
  3. 3/6 xdiff: avoid signed vs. unsigned comparisons in xemit.cDavid Aguilar, Feb 12, 2025
  4. 4/6 xdiff: avoid signed vs. unsigned comparisons in xhistogram.cDavid Aguilar, Feb 12, 2025
  5. 5/6 xdiff: avoid signed vs. unsigned comparisons in xpatience.cDavid Aguilar, Feb 12, 2025
  6. 6/6 xdiff: avoid signed vs. unsigned comparisons in xutils.cDavid Aguilar, Feb 12, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.