From: Tae-Young Chung Date: Mon, 6 Feb 2017 13:21:48 +0000 (+0900) Subject: [UTC][capi-media-vision][Non-ACR][Fixed memory leak(TSAM-12733)] X-Git-Tag: 4.0_Bringup~53^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=90d00cfe541d34e642c4c50fcf5300cccb479ef1;p=test%2Ftct%2Fnative%2Fapi.git [UTC][capi-media-vision][Non-ACR][Fixed memory leak(TSAM-12733)] Change-Id: I9055ee99d387a7195fa2003607a0ec6ab276b4b1 Signed-off-by: Tae-Young Chung --- diff --git a/src/utc/capi-media-vision/utc-mv_common.c b/src/utc/capi-media-vision/utc-mv_common.c index 32e047319..638654514 100755 --- a/src/utc/capi-media-vision/utc-mv_common.c +++ b/src/utc/capi-media-vision/utc-mv_common.c @@ -460,11 +460,13 @@ bool _attribute_supported_callback( printf("Default string attribute %s wasn't set in engine " "configuration by default. Failed\n", attribute_name); *isCorrect = false; + free(real_str_value); printf("FAILED\n"); return true; } printf("Expected value: [%s] | Real value: [%s]\n", str_value, real_str_value); are_exp_act_equal = 0 == strcmp(str_value, real_str_value); + free(real_str_value); break; default: printf("Attribute type received in mv_supported_attribute_cb " @@ -505,10 +507,13 @@ int utc_mediavision_mv_create_source_p(void) mv_source_h source = NULL; - const int ret = mv_create_source(&source); + int ret = mv_create_source(&source); assert_eq(ret, MEDIA_VISION_ERROR_NONE); assert_neq(source, (void*) NULL); + ret = mv_destroy_source(source); + assert_eq(ret, MEDIA_VISION_ERROR_NONE); + printf("Before return mv_create_source_p\n"); return 0; diff --git a/src/utc/capi-media-vision/utc-mv_face.c b/src/utc/capi-media-vision/utc-mv_face.c index ebaa692e9..9e56257ba 100755 --- a/src/utc/capi-media-vision/utc-mv_face.c +++ b/src/utc/capi-media-vision/utc-mv_face.c @@ -441,10 +441,13 @@ int utc_mediavision_mv_face_tracking_model_create_p(void) } mv_face_tracking_model_h test_tracking_model = NULL; - const int ret = mv_face_tracking_model_create(&test_tracking_model); + int ret = mv_face_tracking_model_create(&test_tracking_model); assert_neq(NULL, test_tracking_model); assert_eq(MEDIA_VISION_ERROR_NONE, ret); + ret = mv_face_tracking_model_destroy(test_tracking_model); + assert_eq(MEDIA_VISION_ERROR_NONE, ret); + printf("Before return mv_face_tracking_model_create_p\n"); return 0; @@ -847,6 +850,12 @@ int utc_mediavision_mv_face_tracking_model_load_n(void) ret = mv_face_tracking_model_load( "/fake/path/test_trk_model", &source_model); + + if (source_model) { + int ret2 = mv_face_tracking_model_destroy(source_model); + assert_eq(MEDIA_VISION_ERROR_NONE, ret2); + } + assert_eq(MEDIA_VISION_ERROR_INVALID_PATH, ret); printf("Before return mv_face_tracking_model_load_n\n"); diff --git a/src/utc/capi-media-vision/utc-mv_image.c b/src/utc/capi-media-vision/utc-mv_image.c index e208ccdc0..e63f5e2fc 100755 --- a/src/utc/capi-media-vision/utc-mv_image.c +++ b/src/utc/capi-media-vision/utc-mv_image.c @@ -259,7 +259,10 @@ int utc_mediavision_mv_image_tracking_model_create_p(void) } mv_image_tracking_model_h tracking_model; - const int ret = mv_image_tracking_model_create(&tracking_model); + int ret = mv_image_tracking_model_create(&tracking_model); + assert_eq(MEDIA_VISION_ERROR_NONE, ret); + + ret = mv_image_tracking_model_destroy(tracking_model); assert_eq(MEDIA_VISION_ERROR_NONE, ret); printf("Before return mv_image_tracking_model_create_p\n"); @@ -1428,6 +1431,9 @@ int utc_mediavision_mv_image_tracking_model_set_target_p(void) ret = mv_image_object_destroy(target); assert_eq(MEDIA_VISION_ERROR_NONE, ret); + ret = mv_destroy_source(target_image); + assert_eq(MEDIA_VISION_ERROR_NONE, ret); + printf("Before return mv_image_tracking_model_set_target_p\n"); return 0; diff --git a/src/utc/capi-media-vision/utc-mv_surveillance.c b/src/utc/capi-media-vision/utc-mv_surveillance.c index ffc0b51f3..3b8c0634a 100755 --- a/src/utc/capi-media-vision/utc-mv_surveillance.c +++ b/src/utc/capi-media-vision/utc-mv_surveillance.c @@ -1546,16 +1546,17 @@ void get_person_appearance_result_cb(mv_surveillance_event_trigger_h event_trigg MV_SURVEILLANCE_PERSONS_APPEARED_NUMBER, &number_appeared_persons); - mv_rectangle_s *appeared_locations = malloc( - sizeof(mv_rectangle_s) * number_appeared_persons); + if (number_appeared_persons > 0) { + mv_rectangle_s *appeared_locations = malloc( + sizeof(mv_rectangle_s) * number_appeared_persons); - res->appeared_locations_obtaining_err = - mv_surveillance_get_result_value(event_result, - MV_SURVEILLANCE_PERSONS_APPEARED_LOCATIONS, - appeared_locations); + res->appeared_locations_obtaining_err = + mv_surveillance_get_result_value(event_result, + MV_SURVEILLANCE_PERSONS_APPEARED_LOCATIONS, + appeared_locations); - if (number_appeared_persons > 0) free(appeared_locations); + } size_t number_of_tracked_persons = 0; res->number_of_tracked_persons_obtaining_err = @@ -1563,16 +1564,17 @@ void get_person_appearance_result_cb(mv_surveillance_event_trigger_h event_trigg MV_SURVEILLANCE_PERSONS_TRACKED_NUMBER, &number_of_tracked_persons); - mv_rectangle_s *tracked_locations = malloc( - sizeof(mv_rectangle_s) * number_of_tracked_persons); + if (number_of_tracked_persons > 0) { + mv_rectangle_s *tracked_locations = malloc( + sizeof(mv_rectangle_s) * number_of_tracked_persons); - res->tracked_locations_obtaining_err = - mv_surveillance_get_result_value(event_result, - MV_SURVEILLANCE_PERSONS_TRACKED_LOCATIONS, - tracked_locations); + res->tracked_locations_obtaining_err = + mv_surveillance_get_result_value(event_result, + MV_SURVEILLANCE_PERSONS_TRACKED_LOCATIONS, + tracked_locations); - if (number_of_tracked_persons > 0) free(tracked_locations); + } size_t number_of_disappeared_persons = 0; res->number_of_disappeared_persons_obtaining_err = @@ -1580,16 +1582,17 @@ void get_person_appearance_result_cb(mv_surveillance_event_trigger_h event_trigg MV_SURVEILLANCE_PERSONS_DISAPPEARED_NUMBER, &number_of_disappeared_persons); - mv_rectangle_s *disappeared_locations = malloc( - sizeof(mv_rectangle_s) * number_of_disappeared_persons); + if (number_of_disappeared_persons > 0) { + mv_rectangle_s *disappeared_locations = malloc( + sizeof(mv_rectangle_s) * number_of_disappeared_persons); - res->disappeared_locations_obtaining_err = - mv_surveillance_get_result_value(event_result, - MV_SURVEILLANCE_PERSONS_DISAPPEARED_LOCATIONS, - disappeared_locations); + res->disappeared_locations_obtaining_err = + mv_surveillance_get_result_value(event_result, + MV_SURVEILLANCE_PERSONS_DISAPPEARED_LOCATIONS, + disappeared_locations); - if (number_of_disappeared_persons > 0) free(disappeared_locations); + } printf("Before return get_person_appearance_result_cb\n"); }