Fixed Svace critical issues 62/53162/3 accepted/tizen/mobile/20151207.122651 accepted/tizen/tv/20151207.122711 accepted/tizen/wearable/20151207.122723 submit/tizen/20151207.011050
authorTae-Young Chung <ty83.chung@samsung.com>
Wed, 2 Dec 2015 08:29:35 +0000 (17:29 +0900)
committerTae-Young Chung <ty83.chung@samsung.com>
Mon, 7 Dec 2015 00:41:25 +0000 (09:41 +0900)
Change-Id: Idf44668d33bc345037f048730402b1797c2e110a
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
mv_barcode/barcode_detector/src/mv_barcode_detect_open.cpp
mv_face/face/src/FaceEyeCondition.cpp
packaging/capi-media-vision.spec
test/testsuites/barcode/barcode_test_suite.c
test/testsuites/common/image_helper/include/ImageHelper.h
test/testsuites/common/image_helper/include/image_helper.h
test/testsuites/common/image_helper/src/ImageHelper.cpp
test/testsuites/common/image_helper/src/image_helper.cpp
test/testsuites/common/testsuite_common/mv_testsuite_common.c
test/testsuites/face/face_test_suite.c

index b2357f7..d6dd4f8 100644 (file)
@@ -44,6 +44,11 @@ int mv_barcode_detect_open(
        }
 
        zbar::Image greyImage = image.convert("Y800");
+       if (!greyImage.get_data()) {
+               LOGE("fail to image convert by zbar");
+               return MEDIA_VISION_ERROR_INVALID_OPERATION;
+       }
+
        greyImage.set_crop(roi.point.x, roi.point.y, roi.width, roi.height);
        zbar::ImageScanner scanner;
 
index 10d9e6e..53c835b 100644 (file)
@@ -168,8 +168,6 @@ int FaceEyeCondition::recognizeEyeCondition(
        }
 
        if (NULL == eyeCondition) {
-               *eyeCondition = MV_FACE_EYES_NOT_FOUND;
-
                LOGE("Output eye condition is NULL. Eye condition recognition failed.");
                return MEDIA_VISION_ERROR_INVALID_PARAMETER;
        }
index d7eac4a..90fc7f2 100644 (file)
@@ -1,6 +1,6 @@
 Name:        capi-media-vision
 Summary:     Media Vision library for Tizen Native API
-Version:     0.3.0
+Version:     0.3.1
 Release:     0
 Group:       Multimedia/Framework
 License:     Apache-2.0 and BSD-2.0
index b4e8606..9389461 100644 (file)
@@ -610,7 +610,7 @@ int detect_barcode(barcode_model_s model, mv_rectangle_s roi)
        err = mv_barcode_detect(source, mv_engine_config, roi, barcode_detected_cb, &model);
 
        if (data_buffer != NULL)
-               free(data_buffer);
+               destroy_loaded_buffer(data_buffer);
 
        if (MEDIA_VISION_ERROR_NONE != err) {
                printf("ERROR: Errors were occurred during barcode detection!!! code: %i\n", err);
index e9eabcc..179484f 100644 (file)
@@ -76,6 +76,7 @@ public:
      * @return @c 0 on success, otherwise a negative error value
      *
      * @see ImageHelper::saveImageFromBuffer()
+        * @see ImageHelper::destroyLoadedBuffer()
      */
     static int loadImageToBuffer(
             const char *filePath,
@@ -103,6 +104,19 @@ public:
             const ImageData& imageData,
             int quality = 100);
 
+   /**
+     * @brief Destroys loaded buffer by loadImageToBuffer().
+     *
+     * @since_tizen 3.0
+     * @param [out] pDataBuffer    The buffer of unsigned chars where image data
+     *                             will be stored
+     * @return @c 0 on success, otherwise a negative error value
+     *
+     * @see ImageHelper::loadImageToBuffer()
+     */
+    static int destroyLoadedBuffer(
+            unsigned char *pDataBuffer);
+
     /**
      * @brief Draws the rectangle of specified size on the image data buffer.
      *
index bef34be..480c883 100644 (file)
@@ -66,6 +66,7 @@ typedef struct
  * @return @c 0 on success, otherwise a negative error value
  *
  * @see save_image_from_buffer()
+ * @see destroy_loaded_buffer()
  */
 int load_image_to_buffer(
         const char *file_path,
@@ -94,6 +95,17 @@ int save_image_from_buffer(
         int quality);
 
 /**
+ * @brief Destroys loaded buffer by load_image_to_buffer().
+ *
+ * @since_tizen 3.0
+ * @param [in] data_buffer    Data buffer to be deallocated
+ * @return @c 0 on success, otherwise a negative error value
+ *
+ * @see load_image_to_buffer()
+ */
+int destroy_loaded_buffer(unsigned char *data_buffer);
+
+/**
  * @brief Draws the rectangle of specified size on the image data buffer.
  *
  * @since_tizen 3.0
index e6b0a54..67ac386 100644 (file)
@@ -220,6 +220,18 @@ int ImageHelper::saveImageFromBuffer(
     return MEDIA_VISION_ERROR_NONE;
 }
 
+int ImageHelper::destroyLoadedBuffer(unsigned char *pDataBuffer)
+{
+       if (!pDataBuffer) {
+               return MEDIA_VISION_ERROR_NONE;
+       }
+
+       delete [] pDataBuffer;
+       pDataBuffer = NULL;
+
+       return MEDIA_VISION_ERROR_NONE;
+}
+
 int ImageHelper::drawRectangleOnBuffer(
         int topLeftVertexX,
         int topLeftVertexY,
index 369f703..ecebee1 100644 (file)
@@ -85,6 +85,11 @@ int save_image_from_buffer(
     return ImageHelper::saveImageFromBuffer(file_path, data_buffer, imageData, quality);
 }
 
+int destroy_loaded_buffer(unsigned char *data_buffer)
+{
+       return ImageHelper::destroyLoadedBuffer(data_buffer);
+}
+
 int draw_rectangle_on_buffer(
         int tl_vertex_x,
         int tl_vertex_y,
index bf02a2a..8e229c5 100644 (file)
@@ -295,7 +295,7 @@ int load_mv_source_from_file(
                err);
         if (NULL != data_buffer)
         {
-            free(data_buffer);
+                       destroy_loaded_buffer(data_buffer);
         }
 
         return err;
@@ -316,7 +316,7 @@ int load_mv_source_from_file(
 
     if (NULL != data_buffer)
     {
-        free(data_buffer);
+        destroy_loaded_buffer(data_buffer);
     }
 
     return err;
index e7ca50a..9da7554 100644 (file)
@@ -865,7 +865,7 @@ int perform_model_evaluation(mv_face_recognition_model_h model)
                }
 
                labels[dir_n] = known_label ? face_label : -1;
-               strcpy(directories[dir_n], in_file_name);
+               snprintf(directories[dir_n], 1024, "%s", in_file_name);
                label_count += (0 == unique_checks[face_label] ? 1 : 0);
                if (labels[dir_n] >= 0)
                        unique_checks[labels[dir_n]] += 1;
@@ -895,6 +895,7 @@ int perform_model_evaluation(mv_face_recognition_model_h model)
        mv_source_h source = NULL;
        int err = mv_create_source(&source);
        if (MEDIA_VISION_ERROR_NONE != err) {
+               free(directories);
                printf(TEXT_RED
                                "ERROR: Errors were occurred during creating the source!!! code: %i"
                                TEXT_RESET "\n", err);