[vlc-devel] [vlc-commits] Remove libvlc_free
remi at remlab.net
Fri May 24 10:04:32 CEST 2019
If you don't have the right free inside the EXE, you cannot call LibVLC directly as already explained several times. So it's moot whether you have libvlc_free() or not.
Le 24 mai 2019 10:44:11 GMT+03:00, Steve Lhomme <robux4 at ycbcr.xyz> a écrit :
>On 2019-05-24 9:36, Rémi Denis-Courmont wrote:
>> I don't know what point you are trying to make here. Nobody
>> that mismatched heap allocators would crash. Of course they would.
>> The problem is that if you can't get the right free() function, then
>> can't call libvlc_free().
>Yes, you can get the right free(), if the free() call is done inside
>DLL and not the EXE. It was possible before you removed libvlc_free().
>It was even documented as such.
>Now this trivial use case is not even possible with current state of
>libvlc. The host cannot reliably release the memory it is given.
> At that point, the code is probably already UB
>> even before freeing the allocation either way.
>> Le 24 mai 2019 09:37:20 GMT+03:00, Steve Lhomme <robux4 at ycbcr.xyz> a
>> On 2019-05-24 7:44, Steve Lhomme wrote:
>> On 2019-05-24 7:25, Steve Lhomme wrote:
>> On 2019-05-23 17:11, Rémi Denis-Courmont wrote:
>> Le torstaina 23. toukokuuta 2019, 13.57.32 EEST Steve
>> Lhomme a écrit :
>> Here's another one: we could decide to rewrite
>> libvlc in C++ and keep
>> the same ABI. Does that mean we would have to
>> libvlc hosts to
>> call "delete psz-str" because we don't feel like
>> libvlc_free() ?
>> You would have to keep using malloc() otherwise you
>> would break the
>> ABI 3.0 or 4.0 anyway that says you can use free().
>> That's indeed a problem. I think the free() option should
>> not have
>> been there in the first place. I would rather vote to
>> this option.
>> For example we could decide that for performance reasons
>> using aligned_alloc(). On some system that requires an
>> We cannot do that if we allow free() of a particular
>> Another use case: building libvlc/vlc with allocation
>> redirecting malloc/free to debug leaks. Calling free()
>> of libvlc
>> with memory allocated this will likely crash or report errors
>> when a
>> legitimate free() is done. We should not tie our hands by
>> free() at all.
>> Attached is a quick example of a library done incorrectly:
>> The EXE links with the *debug* DLL C runtime, as most people
>> while debugging their code.
>> The DLL links with the *standard* DLL C runtime, as a distributed
>> would use.
>> Calling free() on the memory returned by the DLL crashes with a
>> allocation error. That doesn't happen is the free() is done in
>> Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez
>> ma brièveté.
>> vlc-devel mailing list
>> To unsubscribe or modify your subscription options:
>vlc-devel mailing list
>To unsubscribe or modify your subscription options:
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the vlc-devel