readdir change to readdir_r. 38/61438/2 accepted/tizen/common/20160311.203725 accepted/tizen/ivi/20160311.150307 accepted/tizen/mobile/20160311.143259 accepted/tizen/tv/20160311.144836 accepted/tizen/wearable/20160311.145640 submit/tizen/20160311.064406
authorSeokHoon Lee <andy.shlee@samsung.com>
Tue, 8 Mar 2016 02:28:06 +0000 (11:28 +0900)
committerSeokHoon Lee <andy.shlee@samsung.com>
Tue, 8 Mar 2016 03:02:36 +0000 (12:02 +0900)
Insert check code for avpicture_get_size error case.

Signed-off-by: SeokHoon Lee <andy.shlee@samsung.com>
Change-Id: Ie0440cc1660db1a39ae63dd79c90770714e4388f

packaging/capi-media-vision.spec
test/testsuites/barcode/barcode_test_suite.c
test/testsuites/face/face_test_suite.c

index 55aae32..7939216 100644 (file)
@@ -1,6 +1,6 @@
 Name:        capi-media-vision
 Summary:     Media Vision library for Tizen Native API
-Version:     0.3.7
+Version:     0.3.8
 Release:     0
 Group:       Multimedia/Framework
 License:     Apache-2.0 and BSD-2.0
index 1c69eac..c7bcaec 100644 (file)
@@ -120,6 +120,12 @@ int convert_rgb_to(unsigned char *src_buffer, unsigned char **dst_buffer,
 
        *cvt_buffer_size = avpicture_get_size(pixel_format,
                        image_data.image_width, image_data.image_height);
+       if(*cvt_buffer_size < 0) {
+               avpicture_free(&dst_picture);
+               MEDIA_VISION_FUNCTION_LEAVE();
+               return MEDIA_VISION_ERROR_OUT_OF_MEMORY;
+       }
+
        (*dst_buffer) = (unsigned char*)malloc(*cvt_buffer_size);
        memcpy(*dst_buffer, dst_picture.data[0], *cvt_buffer_size);
 
index eb6665f..aceb9d0 100644 (file)
@@ -532,14 +532,15 @@ int perform_mv_face_recognition_model_add_face_example(
                }
 
                DIR *dir;
-               struct dirent *ent;
+               struct dirent ent;
+               struct dirent *dent;
                if ((dir = opendir(in_file_name)) != NULL) {
                        char file_path[1024] = "";
 
                        /* Traverses all the files and directories within source directory */
-                       while ((ent = readdir(dir)) != NULL) {
+                       while (!readdir_r(dir, &ent, &dent) && dent) {
                                /* Determine current entry name */
-                               const char *file_name = ent->d_name;
+                               const char *file_name = ent.d_name;
 
                                /* If current entry is directory, or hidden object, skip the step: */
                                if (file_name[0] == '.')
@@ -904,15 +905,16 @@ int perform_model_evaluation(mv_face_recognition_model_h model)
 
        for (i = 0; i < dir_n; ++i) {
                DIR *dir;
-               struct dirent *ent;
+               struct dirent ent;
+               struct dirent *dent;
                printf("Processing %s...\n", directories[i]);
                if ((dir = opendir(directories[i])) != NULL) {
                        char file_path[1024] = "";
 
                        /* Traverses all the files and directories within source directory */
-                       while ((ent = readdir(dir)) != NULL) {
+                       while (!readdir_r(dir, &ent, &dent) && dent) {
                                /* Determine current entry name */
-                               const char *file_name = ent->d_name;
+                               const char *file_name = ent.d_name;
 
                                /* If current entry is directory, or hidden object, skip the step: */
                                if (file_name[0] == '.')