[FFmpeg-devel] [PATCH] avutil/hwcontext_d3d11va: Use secure dlopen.
Matt Oliver
protogonoi at gmail.com
Sun Feb 9 17:30:36 EET 2020
final ping. If no objections still ill apply this later.
On Sun, 12 Jan 2020 at 06:50, Matt Oliver <protogonoi at gmail.com> wrote:
> On Tue, 31 Dec 2019 at 03:37, Andriy Gelman <andriy.gelman at gmail.com>
> wrote:
>
>> On Mon, 30. Dec 11:31, Andriy Gelman wrote:
>> > On Tue, 31. Dec 03:02, Matt Oliver wrote:
>> > > dlopen contains additional security to prevent dll hijacking compared
>> to
>> > > standard LoadLibrary.
>> > > ---
>> > > libavutil/hwcontext_d3d11va.c | 5 +++--
>> > > 1 file changed, 3 insertions(+), 2 deletions(-)
>> > >
>> > > diff --git a/libavutil/hwcontext_d3d11va.c
>> b/libavutil/hwcontext_d3d11va.c
>> > > index 6670c47579..c8ae58f908 100644
>> > > --- a/libavutil/hwcontext_d3d11va.c
>> > > +++ b/libavutil/hwcontext_d3d11va.c
>> > > @@ -39,6 +39,7 @@
>> > > #include "pixdesc.h"
>> > > #include "pixfmt.h"
>> > > #include "thread.h"
>> > > +#include "compat/w32dlfcn.h"
>> > >
>> > > typedef HRESULT(WINAPI *PFN_CREATE_DXGI_FACTORY)(REFIID riid, void
>> > > **ppFactory);
>> > >
>> > > @@ -55,8 +56,8 @@ static av_cold void load_functions(void)
>> > > // from too many LoadLibrary calls.
>> > > HANDLE d3dlib, dxgilib;
>> > >
>> > > - d3dlib = LoadLibrary("d3d11.dll");
>> > > - dxgilib = LoadLibrary("dxgi.dll");
>> > > + d3dlib = dlopen("d3d11.dll", 0);
>> > > + dxgilib = dlopen("dxgi.dll", 0);
>> > > if (!d3dlib || !dxgilib)
>> > > return;
>> > >
>> > > --
>> >
>> > Hello Matt,
>> >
>> > This patch doesn't apply:
>> >
>> > error: corrupt patch at line 16
>> > Patch failed at 0001 avutil/hwcontext_d3d11va: Use secure dlopen.
>> >
>> >
>> https://unofficial.patchwork-ffmpeg.org/project/FFmpeg/patch/CAHVN4mjopJAg+jaC9_N_iNHjzL2p1_9Z3fvhf91pr0Lc-DviUw@mail.gmail.com/
>> >
>>
>> sorry, my git am failed because the patch was sent as text and an
>> attachment.
>> Applying just one of them works.
>>
>> --
>> Andriy
>>
>
> ping
>
More information about the ffmpeg-devel
mailing list