avutil/hwcontext_d3d11va: Use secure dlopen.
authorMatt Oliver <protogonoi@gmail.com>
Mon, 30 Dec 2019 15:59:39 +0000 (02:59 +1100)
committerMatt Oliver <protogonoi@gmail.com>
Sat, 15 Feb 2020 12:53:54 +0000 (23:53 +1100)
dlopen contains additional security to prevent dll hijacking compared to standard LoadLibrary.

libavutil/hwcontext_d3d11va.c

index 6670c47..c8ae58f 100644 (file)
@@ -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;