Re: [PATCH spice v2 2/2] Do not crash on NULL codecs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 
> 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@xxxxxxxxxx>
> > > 
> > 
> > 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
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]