Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/LAVFilters.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHendrik Leppkes <h.leppkes@gmail.com>2014-01-12 21:18:22 +0400
committerHendrik Leppkes <h.leppkes@gmail.com>2014-01-12 21:38:17 +0400
commitcc752b57c7a97ac9fd0ede5ce8910edb381df62b (patch)
tree407f1007afe27126d00433278400b27f636af719 /demuxer
parent6d4e93073b4d25ac9dd505167a5009d8506c7322 (diff)
Safer VARIANT handling.
Diffstat (limited to 'demuxer')
-rw-r--r--demuxer/Demuxers/LAVFDemuxer.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/demuxer/Demuxers/LAVFDemuxer.cpp b/demuxer/Demuxers/LAVFDemuxer.cpp
index 24ff6e9e..7b27f817 100644
--- a/demuxer/Demuxers/LAVFDemuxer.cpp
+++ b/demuxer/Demuxers/LAVFDemuxer.cpp
@@ -1456,8 +1456,14 @@ STDMETHODIMP CLAVFDemuxer::Read(LPCOLESTR pszPropName, VARIANT *pVar, IErrorLog
}
}
- pVar->vt = VT_BSTR;
- return GetBSTRMetadata(propName, &pVar->bstrVal, stream);
+ BSTR bstrValue = nullptr;
+ HRESULT hr = GetBSTRMetadata(propName, &bstrValue, stream);
+ if (SUCCEEDED(hr)) {
+ VariantClear(pVar);
+ pVar->vt = VT_BSTR;
+ pVar->bstrVal = bstrValue;
+ }
+ return hr;
}
STDMETHODIMP CLAVFDemuxer::Write(LPCOLESTR pszPropName, VARIANT *pVar)