fix svace issues 92/120992/2
authorJongkyu Koo <jk.koo@samsung.com>
Mon, 27 Mar 2017 03:44:39 +0000 (12:44 +0900)
committerJongkyu Koo <jk.koo@samsung.com>
Mon, 27 Mar 2017 04:29:20 +0000 (21:29 -0700)
Change-Id: I9195b96769755d9b4ab7f8a40aec6169cce4be23
Signed-off-by: Jongkyu Koo <jk.koo@samsung.com>
common/ctsvc_vcard.c

index f985964..cc5bf18 100644 (file)
@@ -676,14 +676,28 @@ static inline int __ctsvc_vcard_put_company_logo(const char *path, char **buf, i
 
        buf_image = g_base64_encode(image, read_len);
        if (buf_image) {
-               CTSVC_VCARD_APPEND_STR(buf, buf_size, len, content_name[CTSVC_VCARD_VALUE_LOGO]);
-               CTSVC_VCARD_APPEND_STR(buf, buf_size, len, ";ENCODING=BASE64;TYPE=");
-               CTSVC_VCARD_APPEND_STR(buf, buf_size, len, __ctsvc_get_image_type_str(type));
-               CTSVC_VCARD_APPEND_STR(buf, buf_size, len, ":");
-               CTSVC_VCARD_APPEND_STR(buf, buf_size, len, buf_image);
-               CTSVC_VCARD_APPEND_STR(buf, buf_size, len, CTSVC_CRLF);
-               CTSVC_VCARD_APPEND_STR(buf, buf_size, len, CTSVC_CRLF);
+               do {
+                       if ((len = __ctsvc_vcard_append_str(buf, buf_size, len, content_name[CTSVC_VCARD_VALUE_LOGO], false)) < 0)
+                               break;
+                       if ((len = __ctsvc_vcard_append_str(buf, buf_size, len, ";ENCODING=BASE64;TYPE=", false)) < 0)
+                               break;
+                       if ((len = __ctsvc_vcard_append_str(buf, buf_size, len, __ctsvc_get_image_type_str(type), false)) < 0)
+                               break;
+                       if ((len = __ctsvc_vcard_append_str(buf, buf_size, len, ":", false)) < 0)
+                               break;
+                       if ((len = __ctsvc_vcard_append_str(buf, buf_size, len, buf_image, false)) < 0)
+                               break;
+                       if ((len = __ctsvc_vcard_append_str(buf, buf_size, len, CTSVC_CRLF, false)) < 0)
+                               break;
+                       if ((len = __ctsvc_vcard_append_str(buf, buf_size, len, CTSVC_CRLF, false)) < 0)
+                               break;
+               } while (0);
+
                g_free(buf_image);
+               if (len < 0) {
+                       ERR("__ctsvc_vcard_append_str() Fail");
+                       return CONTACTS_ERROR_OUT_OF_MEMORY;
+               }
        }
        return len;
 }
@@ -1626,14 +1640,28 @@ static inline int __ctsvc_vcard_put_photo(ctsvc_list_s *image_list, char **buf,
                free(image);
 
                if (buf_image) {
-                       CTSVC_VCARD_APPEND_STR(buf, buf_size, len, content_name[CTSVC_VCARD_VALUE_PHOTO]);
-                       CTSVC_VCARD_APPEND_STR(buf, buf_size, len, ";ENCODING=BASE64;TYPE=");
-                       CTSVC_VCARD_APPEND_STR(buf, buf_size, len, __ctsvc_get_image_type_str(type));
-                       CTSVC_VCARD_APPEND_STR(buf, buf_size, len, ":");
-                       CTSVC_VCARD_APPEND_STR(buf, buf_size, len, buf_image);
-                       CTSVC_VCARD_APPEND_STR(buf, buf_size, len, CTSVC_CRLF);
-                       CTSVC_VCARD_APPEND_STR(buf, buf_size, len, CTSVC_CRLF);
+                       do {
+                               if ((len = __ctsvc_vcard_append_str(buf, buf_size, len, content_name[CTSVC_VCARD_VALUE_PHOTO], false)) < 0)
+                                       break;
+                               if ((len = __ctsvc_vcard_append_str(buf, buf_size, len, ";ENCODING=BASE64;TYPE=", false)) < 0)
+                                       break;
+                               if ((len = __ctsvc_vcard_append_str(buf, buf_size, len, __ctsvc_get_image_type_str(type), false)) < 0)
+                                       break;
+                               if ((len = __ctsvc_vcard_append_str(buf, buf_size, len, ":", false)) < 0)
+                                       break;
+                               if ((len = __ctsvc_vcard_append_str(buf, buf_size, len, buf_image, false)) < 0)
+                                       break;
+                               if ((len = __ctsvc_vcard_append_str(buf, buf_size, len, CTSVC_CRLF, false)) < 0)
+                                       break;
+                               if ((len = __ctsvc_vcard_append_str(buf, buf_size, len, CTSVC_CRLF, false)) < 0)
+                                       break;
+                       } while (0);
+
                        g_free(buf_image);
+                       if (len < 0) {
+                               ERR("__ctsvc_vcard_append_str() Fail");
+                               return CONTACTS_ERROR_OUT_OF_MEMORY;
+                       }
                }
        }
 
@@ -2762,7 +2790,11 @@ static inline int __ctsvc_vcard_get_photo(contacts_record_h contact, ctsvc_list_
                        CTSVC_VCARD_IMAGE_LOCATION, tv.tv_sec, tv.tv_usec, __ctsvc_get_img_suffix(type));
 
        fd = open(dest, O_WRONLY|O_CREAT|O_TRUNC, 0660);
-       RETVM_IF(fd < 0, CONTACTS_ERROR_SYSTEM, "System : open Fail(%d)", errno);
+       if (fd < 0) {
+               g_free(buf);
+               ERR("System : open Fail(%d)", errno);
+               return CONTACTS_ERROR_SYSTEM;
+       }
 
        while (0 < size) {
                ret = write(fd, buf, size);
@@ -3017,7 +3049,11 @@ static inline int __ctsvc_vcard_get_company_logo(ctsvc_list_s *company_list, cha
                        getpid(), tv.tv_sec, tv.tv_usec, __ctsvc_get_img_suffix(type));
 
        fd = open(dest, O_WRONLY|O_CREAT|O_TRUNC, 0660);
-       RETVM_IF(fd < 0, CONTACTS_ERROR_SYSTEM, "System : open Fail(%d)", errno);
+       if (fd < 0) {
+               g_free(buf);
+               ERR("System : open Fail(%d)", errno);
+               return CONTACTS_ERROR_SYSTEM;
+       }
 
        while (0 < size) {
                ret = write(fd, buf, size);
@@ -3721,6 +3757,7 @@ static char* __ctsvc_vcard_decode_base64_val(char *val)
 
        dest = calloc((src-val)+size+1, sizeof(char));
        if (NULL == dest) {
+               g_free(decoded_str);
                ERR("calloc() Fail");
                return NULL;
        }