[vlc-devel] [vlc-commits] decoder: add Destroy helper function for decoder owners
Steve Lhomme
robux4 at ycbcr.xyz
Tue Feb 19 09:44:38 CET 2019
There cannot be any double-free occurring in my implementation. That's
the class of bugs it removes.
It will of course not solve use after free issues. And I don't see how
it makes it easier/harder to track such issues.
On 19/02/2019 09:02, Rémi Denis-Courmont wrote:
> This does not remove any class of bug. If there is a use-after-free,
> it still fails or hides the bug (depending if the use checks for NULL
> or not). If there is a double free race, it hides the bug in most
> cases making it very hard to reproduce, all the while not actually
> fixing it.
>
> Le 19 février 2019 09:13:36 GMT+02:00, Steve Lhomme <robux4 at ycbcr.xyz>
> a écrit :
>
> On 19/02/2019 08:03, Jean-Baptiste Kempf wrote:
>
> Hello, On Tue, 19 Feb 2019, at 08:01, Steve Lhomme wrote:
>
> I really prefer having a crash (via assert/ASAN) when
> a client is
>
> misusing an API (calling Destroy with a freed pointer)
> instead of ignoring it. This is true when calling Destroy
> twice is a bug. It isn't with this
>
> Then assert() it.
>
>
> I'm not sure I'm following. Would you assert when calling
> decoder_Destroy() with a NULL decoder (meaning it doesn't exist at all,
> not even been through decoder_Init) ? Or in the solution I removed where
> you'd call decoder_Destroy() with a holder than has been emptied, which
> is not a bug at all.
>
> Or you mean assert when decoder_Destroy() is passed an already freed
> pointer ? In which case no assert will help detect a double free.
>
> As a more general remark, I think it's odd that rather than removing a
> class of bugs, we prefer to keep it and rely on tools to find them for
> us, when they eventually occur.
>
> >
>
> This is not a libVLC API, where you need to deal with invalid
> input, and where assert is not enough. -- Jean-Baptiste Kempf
> - President +33 672 704 734
> ------------------------------------------------------------------------
> vlc-devel mailing list To unsubscribe or modify your
> subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
>
> ------------------------------------------------------------------------
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
>
>
> --
> Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez
> excuser ma brièveté.
>
> _______________________________________________
> 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