On Wed, Jan 08, 2025 at 09:04:56PM +0100, Ilya Leoshkevich wrote: > Use g_strcmp0(), so that NULL is considered an invalid parameter value.
Why are we calling qapi_bool_parse with a NULL value in the first place ? IMHO this is a sign of a bug higher up the call chain that ought to be fixed, as in general all our input parsing code would expect non-NULL input values. > > Suggested-by: Alex Bennée <alex.ben...@linaro.org> > Signed-off-by: Ilya Leoshkevich <i...@linux.ibm.com> > --- > qapi/qapi-util.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/qapi/qapi-util.c b/qapi/qapi-util.c > index 65a7d184372..c6ae829f904 100644 > --- a/qapi/qapi-util.c > +++ b/qapi/qapi-util.c > @@ -86,17 +86,17 @@ int qapi_enum_parse(const QEnumLookup *lookup, const char > *buf, > > bool qapi_bool_parse(const char *name, const char *value, bool *obj, Error > **errp) > { > - if (g_str_equal(value, "on") || > - g_str_equal(value, "yes") || > - g_str_equal(value, "true") || > - g_str_equal(value, "y")) { > + if (!g_strcmp0(value, "on") || > + !g_strcmp0(value, "yes") || > + !g_strcmp0(value, "true") || > + !g_strcmp0(value, "y")) { > *obj = true; > return true; > } > - if (g_str_equal(value, "off") || > - g_str_equal(value, "no") || > - g_str_equal(value, "false") || > - g_str_equal(value, "n")) { > + if (!g_strcmp0(value, "off") || > + !g_strcmp0(value, "no") || > + !g_strcmp0(value, "false") || > + !g_strcmp0(value, "n")) { > *obj = false; > return true; > } > -- > 2.47.1 > > With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|