[FFmpeg-cvslog] avutil/hwcontext_d3d11va: Use secure dlopen.
Matt Oliver
git at videolan.org
Sat Feb 15 14:54:32 EET 2020
ffmpeg | branch: master | Matt Oliver <protogonoi at gmail.com> | Tue Dec 31 02:59:39 2019 +1100| [f0c0ad4455e5f72edf175e81a06e52562cdd1ab2] | committer: Matt Oliver
avutil/hwcontext_d3d11va: Use secure dlopen.
dlopen contains additional security to prevent dll hijacking compared to standard LoadLibrary.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f0c0ad4455e5f72edf175e81a06e52562cdd1ab2
---
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;
More information about the ffmpeg-cvslog
mailing list