avifil32: AVIFileGetStream should set stream to NULL in case of an error.

Sebastian Lackner sebastian at fds-team.de
Thu Jan 26 10:32:53 CST 2017


From: Dmitry Timoshkov <dmitry at baikal.ru>

Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
Signed-off-by: Sebastian Lackner <sebastian at fds-team.de>
---

For https://bugs.winehq.org/show_bug.cgi?id=41579.

 dlls/avifil32/avifile.c   |    1 +
 dlls/avifil32/tests/api.c |    5 +++++
 2 files changed, 6 insertions(+)

diff --git a/dlls/avifil32/avifile.c b/dlls/avifil32/avifile.c
index f649d058274..7a4caaadb4d 100644
--- a/dlls/avifil32/avifile.c
+++ b/dlls/avifil32/avifile.c
@@ -316,6 +316,7 @@ static HRESULT WINAPI IAVIFile_fnGetStream(IAVIFile *iface, IAVIStream **avis, D
   }
 
   /* Sorry, but the specified stream doesn't exist */
+  *avis = NULL;
   return AVIERR_NODATA;
 }
 
diff --git a/dlls/avifil32/tests/api.c b/dlls/avifil32/tests/api.c
index b3d822df641..66ba2051a06 100644
--- a/dlls/avifil32/tests/api.c
+++ b/dlls/avifil32/tests/api.c
@@ -373,6 +373,11 @@ static void test_default_data(void)
     res = AVIFileOpenA(&pFile, filename, OF_SHARE_DENY_WRITE, 0L);
     ok(res == 0, "Unable to open file: error=%u\n", res);
 
+    pStream0 = (void *)0xdeadbeef;
+    res = AVIFileGetStream(pFile, &pStream0, ~0U, 0);
+    ok(res == AVIERR_NODATA, "expected AVIERR_NODATA, got %u\n", res);
+    ok(pStream0 == NULL, "AVIFileGetStream should set stream to NULL\n");
+
     res = AVIFileGetStream(pFile, &pStream0, 0, 0);
     ok(res == 0, "Unable to open video stream: error=%u\n", res);
 
-- 
2.11.0



More information about the wine-patches mailing list