[vlc-devel] [PATCH 3/3] Initialize title strings with non NULL pointer
Thomas Guillem
thomas at gllm.fr
Mon Jul 20 08:33:01 CEST 2020
Hello,
On Sat, Jul 18, 2020, at 12:47, Daniel Glaas wrote:
> In principle, looking over all possible use cases of strdup I agree that
> there might be case where strdup() returns NULL. But here I used it with
> an empty string as parameter, meaning that malloc() only needs to
> allocate one single byte in the memory. If this really fails, then there
> are other problems than only a wrong display of an RSS text overlay.
We require all allocations to be checked and handled. This is not the case for every C programs and libs, but it is in VLC.
>
> I also tried to add catches to the NULL pointers at those places where
> they are used. But in my opinion, this makes the places of usage very
> bad to read with a lot of NULL checks at various places. A lot of places
> in the *Filter() function rely on valid pointers where the titles are
> stored.
>
I see 2 other choices :
- fix psz_title NULLITY check everywhere
- Assign it to a special static const string (likely "") : in that case, you should check that the pointer is not equals to this special string pointer before freeing it.
Also, your patch seems to leak the "" allocation when psz_title is replaced by a new string.
> Am 18.07.20 um 09:41 schrieb Rémi Denis-Courmont:
> > Le lauantaina 18. heinäkuuta 2020, 5.07.00 EEST Daniel Glaas a écrit :
> >> Initialize title strings with non NULL pointer
> >>
> >> If no valid title could be parsed out of an RSS feed, the segmentation fault
> >> caused VLC to crash. The reason therefore was that the expected pointers to
> >> the char buffers containing the titles were NULL pointers.
> > This won't work because strdup() can return NULL. Better handle the NULL
> > values correctly.
> >
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list