[Spice-devel] [PATCH spice v2 2/2] Do not crash on NULL codecs

Frediano Ziglio fziglio at redhat.com
Wed Nov 16 13:19:23 UTC 2016


> 
> On Wed, Nov 16, 2016 at 06:21:24AM -0500, Frediano Ziglio wrote:
> > > 
> > > On Wed, Nov 16, 2016 at 10:10:01AM +0100, Pavel Grunt wrote:
> > > > ---
> > > >  server/reds.c                            | 2 +-
> > > >  server/tests/spice-codecs-parsing-test.c | 1 +
> > > >  2 files changed, 2 insertions(+), 1 deletion(-)
> > > > 
> > > > diff --git a/server/reds.c b/server/reds.c
> > > > index 12a274c..eccc2ba 100644
> > > > --- a/server/reds.c
> > > > +++ b/server/reds.c
> > > > @@ -3639,7 +3639,7 @@ static void reds_set_video_codecs(RedsState
> > > > *reds,
> > > > const char *codecs)
> > > >  {
> > > >      char *encoder_name, *codec_name;
> > > >  
> > > > -    if (strcmp(codecs, "auto") == 0) {
> > > > +    if (codecs == NULL || strcmp(codecs, "auto") == 0) {
> > > >          codecs = default_video_codecs;
> > > 
> > > Or just if (g_strcmp0(codecs, "auto") == 0) {}
> > > 
> > > 
> > > Acked-by: Christophe Fergeau <cfergeau at redhat.com>
> > > 
> > 
> > What's the reason to allows NULL ?
> > Personally I would nack this patch.
> 
> Ah, we should not crash on NULL, I did not think too much about the
> behaviour we want with NULL though. Using the default codecs when none
> was specified does not sound too bad to me. But I'm fine with
> g_return_if_fail(codecs != NULL); too.
> 
> Christophe
> 

I personally would use a "undefined behavior". Just don't use NULL,
there is already a default value which is "auto".
Usually when I see a "const char *" parameter I assume I have
to pass a proper string. Something like strlen, you can call
strlen(NULL) don't expect consistent results.

Frediano


More information about the Spice-devel mailing list