From 777793acee6b2ff6606aa9d1828f9ed447b5c331 Mon Sep 17 00:00:00 2001 From: Marcus Fritzsch Date: Wed, 13 Aug 2014 10:57:23 +0200 Subject: tests: fixed 2 use-after-free errors Signed-off-by: Marcus Fritzsch --- ivi-layermanagement-api/test/ilm_control_test.cpp | 29 +++++++++++++---------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/ivi-layermanagement-api/test/ilm_control_test.cpp b/ivi-layermanagement-api/test/ilm_control_test.cpp index 324c003..b1217e7 100644 --- a/ivi-layermanagement-api/test/ilm_control_test.cpp +++ b/ivi-layermanagement-api/test/ilm_control_test.cpp @@ -361,31 +361,36 @@ TEST_F(IlmCommandTest, ilm_getScreenResolution_SingleScreen) { t_ilm_uint numberOfScreens = 0; t_ilm_uint* screenIDs = NULL; ASSERT_EQ(ILM_SUCCESS, ilm_getScreenIDs(&numberOfScreens, &screenIDs)); - free(screenIDs); - ASSERT_TRUE(numberOfScreens>0); + EXPECT_TRUE(numberOfScreens>0); + + if (numberOfScreens > 0) + { + uint firstScreen = screenIDs[0]; + t_ilm_uint width = 0, height = 0; + EXPECT_EQ(ILM_SUCCESS, ilm_getScreenResolution(firstScreen, &width, &height)); + EXPECT_GT(width, 0u); + EXPECT_GT(height, 0u); + } - uint firstScreen = screenIDs[0]; - t_ilm_uint width = 0, height = 0; - ASSERT_EQ(ILM_SUCCESS, ilm_getScreenResolution(firstScreen, &width, &height)); - ASSERT_GT(width, 0u); - ASSERT_GT(height, 0u); + free(screenIDs); } TEST_F(IlmCommandTest, ilm_getScreenResolution_MultiScreen) { t_ilm_uint numberOfScreens = 0; t_ilm_uint* screenIDs = NULL; ASSERT_EQ(ILM_SUCCESS, ilm_getScreenIDs(&numberOfScreens, &screenIDs)); - free(screenIDs); - ASSERT_TRUE(numberOfScreens>0); + EXPECT_TRUE(numberOfScreens>0); for (uint screenIndex = 0; screenIndex < numberOfScreens; ++screenIndex) { uint screen = screenIDs[screenIndex]; t_ilm_uint width = 0, height = 0; - ASSERT_EQ(ILM_SUCCESS, ilm_getScreenResolution(screen, &width, &height)); - ASSERT_GT(width, 0u); - ASSERT_GT(height, 0u); + EXPECT_EQ(ILM_SUCCESS, ilm_getScreenResolution(screen, &width, &height)); + EXPECT_GT(width, 0u); + EXPECT_GT(height, 0u); } + + free(screenIDs); } TEST_F(IlmCommandTest, ilm_getLayerIDs) { -- cgit v1.2.1