瀏覽代碼

decklink: Add destructor for OBSVideoFrame, initialize flags

Fixes a memory leak and potential access to undefined variable.
Detected by Coverity Scan.
Richard Stanway 4 年之前
父節點
當前提交
e7df070438
共有 2 個文件被更改,包括 7 次插入1 次删除
  1. 5 0
      plugins/decklink/OBSVideoFrame.cpp
  2. 2 1
      plugins/decklink/OBSVideoFrame.h

+ 5 - 0
plugins/decklink/OBSVideoFrame.cpp

@@ -11,6 +11,11 @@ OBSVideoFrame::OBSVideoFrame(long width, long height,
 	this->pixelFormat = pixelFormat;
 }
 
+OBSVideoFrame::~OBSVideoFrame()
+{
+	delete this->data;
+}
+
 HRESULT OBSVideoFrame::SetFlags(BMDFrameFlags newFlags)
 {
 	flags = newFlags;

+ 2 - 1
plugins/decklink/OBSVideoFrame.h

@@ -5,7 +5,7 @@
 
 class OBSVideoFrame : public IDeckLinkMutableVideoFrame {
 private:
-	BMDFrameFlags flags;
+	BMDFrameFlags flags = bmdFrameFlagDefault;
 	BMDPixelFormat pixelFormat = bmdFormat8BitYUV;
 
 	long width;
@@ -16,6 +16,7 @@ private:
 
 public:
 	OBSVideoFrame(long width, long height, BMDPixelFormat pixelFormat);
+	~OBSVideoFrame();
 
 	HRESULT STDMETHODCALLTYPE SetFlags(BMDFrameFlags newFlags) override;