Fixed memory leak and added null parameter handling 92/113492/1 accepted/tizen/3.0/common/20170209.112755 accepted/tizen/3.0/ivi/20170209.033618 accepted/tizen/3.0/mobile/20170209.033539 accepted/tizen/3.0/tv/20170209.033554 accepted/tizen/3.0/wearable/20170209.033607 submit/tizen_3.0/20170208.043701
authorTae-Young Chung <ty83.chung@samsung.com>
Tue, 7 Feb 2017 06:22:11 +0000 (15:22 +0900)
committerTae-Young Chung <ty83.chung@samsung.com>
Wed, 8 Feb 2017 02:15:57 +0000 (18:15 -0800)
1. Fixed memory leak in mv_surveillance_set_event_trigger_roi() api
2. Fixed memory leak in mv_face_tracking_model_load() api
3. Fixed the issue of returning error when engine_cfg is null in mv_barcode_detect() api.

Change-Id: Id56f55b9421d64ff85bffff6f3502696be0315e1
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
(cherry picked from commit 83b1a69ef373ad18e2fb4874b47baadbd7c0e343)

mv_barcode/barcode_detector/src/mv_barcode_detect_open.cpp
mv_face/face/src/mv_face_open.cpp
packaging/capi-media-vision.spec
src/mv_surveillance.c

index 0349d2c..c58909b 100644 (file)
@@ -56,9 +56,10 @@ int mv_barcode_detect_open(
                        engine_cfg,
                        "MV_BARCODE_DETECT_ATTR_TARGET",
                &target_val);
-       if (err != MEDIA_VISION_ERROR_NONE) {
+       if (err != MEDIA_VISION_ERROR_NONE || engine_cfg == NULL) {
                LOGW("mv_engine_config_get_int_attribute failed");
-               return err;
+               /* Default value */
+               target_val = 0;
        }
 
        /**
index d340744..337b8b8 100644 (file)
@@ -888,11 +888,14 @@ int mv_face_tracking_model_load_open(
        const int ret = pTrackModel->load(std::string(file_name));
 
        if (MEDIA_VISION_ERROR_NONE != ret) {
-               LOGE("Error occurred when save recognition model to the file");
+               LOGE("Error occurred when load tracking model from the file");
+               delete static_cast<FaceTrackingModel*>(*tracking_model);
+               *tracking_model = NULL;
+
                return ret;
        }
 
-       LOGD("Media vision recognition model has been loaded from the file [%s]", file_name);
+       LOGD("Media vision tracking model has been loaded from the file [%s]", file_name);
 
        return ret;
 }
index 2f44fe3..bac4c4f 100644 (file)
@@ -1,6 +1,6 @@
 Name:        capi-media-vision
 Summary:     Media Vision library for Tizen Native API
-Version:     0.3.23
+Version:     0.3.24
 Release:     1
 Group:       Multimedia/Framework
 License:     Apache-2.0 and BSD-2.0
index 461ea4d..1005ecb 100644 (file)
@@ -120,6 +120,11 @@ int mv_surveillance_set_event_trigger_roi(
        mv_surveillance_event_trigger_s *handle =
                        (mv_surveillance_event_trigger_s *)trigger;
 
+       if (handle->roi) {
+               free(handle->roi);
+               handle->roi = NULL;
+       }
+
        handle->number_of_roi_points = number_of_points;
        handle->roi = (mv_point_s*) malloc(sizeof(mv_point_s) * number_of_points);