[FFmpeg-devel] [PATCH] avutil/hwcontext_d3d11va: Use secure dlopen.

Matt Oliver protogonoi at gmail.com
Sat Jan 11 21:50:19 EET 2020


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