revlog: fix wrong type of rank_unknown variable stable
authorJulien Cristau <jcristau@debian.org>
Mon, 14 Mar 2022 17:57:03 +0100
branchstable
changeset 48964 9ce563fb2989
parent 48962 59be65b7cdfd
child 48965 a82f5d2b48fb
child 48966 b10a944c0486
revlog: fix wrong type of rank_unknown variable We treat "rank" as an int everywhere, but declare rank_unknown as a char. On architectures where char is signed, that works out ok, but when char is unsigned, rank_unknown is 255 instead of -1. Differential Revision: https://phab.mercurial-scm.org/D12374
mercurial/cext/revlog.c
--- a/mercurial/cext/revlog.c	Mon Mar 14 14:10:41 2022 +0000
+++ b/mercurial/cext/revlog.c	Mon Mar 14 17:57:03 2022 +0100
@@ -179,7 +179,7 @@
 /* next free offset: 73 */
 
 static const char comp_mode_inline = 2;
-static const char rank_unknown = -1;
+static const int rank_unknown = -1;
 
 static void raise_revlog_error(void)
 {