From: Taylor Blau Date: Tue, 19 Sep 2023 17:48:13 GMT Subject: Re: [PATCH] fix: check parameters in json-write.c Message-ID: In-Reply-To: [+cc Jeff Hostetler] On Tue, Sep 19, 2023 at 11:54:58AM +0000, mark via GitGitGadget wrote: > diff --git a/json-writer.c b/json-writer.c > index 005c820aa42..23ba7046e5d 100644 > --- a/json-writer.c > +++ b/json-writer.c > @@ -20,6 +20,11 @@ static void append_quoted_string(struct strbuf *out, const char *in) > { > unsigned char c; > > + if (!in || !*in) { > + strbuf_addstr(out, "\"\""); > + return; > + } From reading the implementation of append_quoted_string(), I think that the case where "in" is the empty string is already covered. IOW, doing something like: struct strbuf buf = STRBUF_INIT; append_quoted_string(&out, ""); warning("'%s'", buf.buf); would print out something like: warning: '""' as expected. Handling a NULL "in" argument is new behavior, but I am not sure if it is appropriate to coerce a NULL input into the empty string. I've CC'd the author of this code, whose opinion I trust more than my own here. Thanks, Taylor