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

Andriy Gelman andriy.gelman at gmail.com
Mon Dec 30 18:37:00 EET 2019


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


More information about the ffmpeg-devel mailing list