Fix : update person default image
authorDonghee Ye <donghee.ye@samsung.com>
Tue, 22 Oct 2013 11:46:13 +0000 (20:46 +0900)
committerGerrit Code Review <gerrit@gerrit.vlan144.tizendev.org>
Wed, 23 Oct 2013 02:30:36 +0000 (02:30 +0000)
Change-Id: Id46a53037a0592eca8c6ee2f64f322bc65f470b7

native/ctsvc_db_plugin_person_helper.c

index cf89d29..88fb55c 100755 (executable)
@@ -354,6 +354,7 @@ static inline int __ctsvc_db_update_person_default(int person_id, int datatype)
        cts_stmt stmt = NULL;
        char query[CTS_SQL_MIN_LEN] = {0};
        char *temp = NULL;
+       char *image_thumbnail_path = NULL;
 
        snprintf(query, sizeof(query),
                "SELECT D.id FROM "CTS_TABLE_CONTACTS" C, "CTS_TABLE_DATA" D "
@@ -389,23 +390,28 @@ static inline int __ctsvc_db_update_person_default(int person_id, int datatype)
                                return ret;
                        }
                        temp = ctsvc_stmt_get_text(stmt, 1);
+                       image_thumbnail_path = SAFE_STRDUP(temp);
                }
                cts_stmt_finalize(stmt);
 
                if (CTSVC_DATA_IMAGE == datatype) {
-                       if (temp) {
+                       if (image_thumbnail_path) {
                                snprintf(query, sizeof(query),
                                                "UPDATE "CTS_TABLE_PERSONS" SET image_thumbnail_path=? WHERE person_id=%d", person_id);
                                stmt = cts_query_prepare(query);
-                               cts_stmt_bind_text(stmt, 1, temp);
+                               cts_stmt_bind_text(stmt, 1, image_thumbnail_path);
                                ret = cts_stmt_step(stmt);
                                cts_stmt_finalize(stmt);
+                               free(image_thumbnail_path);
                                if (CONTACTS_ERROR_NONE != ret) {
                                        CTS_ERR("cts_query_exec Failed(%d)", ret);
                                        return ret;
                                }
                        }
                }
+               else {
+                       free(image_thumbnail_path);
+               }
        }
 
        return CONTACTS_ERROR_NONE;