On Sun, 15 Mar 2026 12:20:14 +0000 Josh Law <[email protected]> wrote:
> lib/bootconfig.c:322:25: warning: comparison of integer expressions > of different signedness: 'int' and 'size_t' [-Wsign-compare] > lib/bootconfig.c:325:30: warning: conversion to 'size_t' from 'int' > may change the sign of the result [-Wsign-conversion] > > snprintf() returns int but size is size_t, so comparing ret >= size > and subtracting size -= ret involve mixed-sign operations. Cast ret > at the comparison and subtraction sites; ret is known non-negative at > this point because the ret < 0 early return has already been taken. > > Signed-off-by: Josh Law <[email protected]> > --- > lib/bootconfig.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/lib/bootconfig.c b/lib/bootconfig.c > index e318b236e728..68a72dbc38fa 100644 > --- a/lib/bootconfig.c > +++ b/lib/bootconfig.c > @@ -319,10 +319,10 @@ int __init xbc_node_compose_key_after(struct xbc_node > *root, > depth ? "." : ""); > if (ret < 0) > return ret; > - if (ret >= size) { > + if (ret >= (int)size) { nit: if ((size_t)ret >= size) { because sizeof(size_t) > sizeof(int). Thanks, > size = 0; > } else { > - size -= ret; > + size -= (size_t)ret; > buf += ret; > } > total += ret; > -- > 2.34.1 > > -- Masami Hiramatsu (Google) <[email protected]>
