summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/common/media-svc-db-utils.c10
-rwxr-xr-xsrc/common/media-svc-media.c10
-rwxr-xr-xsrc/common/media-svc-util.c30
3 files changed, 35 insertions, 15 deletions
diff --git a/src/common/media-svc-db-utils.c b/src/common/media-svc-db-utils.c
index 05710d9..b48b32a 100755
--- a/src/common/media-svc-db-utils.c
+++ b/src/common/media-svc-db-utils.c
@@ -43,6 +43,7 @@ static GSList *column_list[MEDIA_SVC_DB_LIST_MAX];
char *_media_svc_get_path(uid_t uid)
{
+ int len = 0;
char *result_passwd = NULL;
struct group *grpinfo = NULL;
if (uid == getuid()) {
@@ -51,7 +52,9 @@ char *_media_svc_get_path(uid_t uid)
media_svc_error("getgrnam(users) returns NULL !");
return NULL;
}
- result_passwd = g_strdup(MEDIA_ROOT_PATH_INTERNAL);
+ len = strlen(MEDIA_ROOT_PATH_INTERNAL);
+ if (len > 0)
+ result_passwd = strndup(MEDIA_ROOT_PATH_INTERNAL, len);
} else {
char passwd_str[MEDIA_SVC_PATHNAME_SIZE] = {0, };
struct passwd *userinfo = getpwuid(uid);
@@ -69,8 +72,9 @@ char *_media_svc_get_path(uid_t uid)
media_svc_error("UID [%d] does not belong to 'users' group!", uid);
return NULL;
}
- snprintf(passwd_str, sizeof(passwd_str), "%s/%s", userinfo->pw_dir, MEDIA_CONTENT_PATH);
- result_passwd = g_strdup(passwd_str);
+ len = snprintf(passwd_str, sizeof(passwd_str), "%s/%s", userinfo->pw_dir, MEDIA_CONTENT_PATH);
+ if (len > 0)
+ result_passwd = strndup(passwd_str, len);
}
return result_passwd;
diff --git a/src/common/media-svc-media.c b/src/common/media-svc-media.c
index 52e3a5e..9f033c1 100755
--- a/src/common/media-svc-media.c
+++ b/src/common/media-svc-media.c
@@ -178,6 +178,7 @@ int _media_svc_count_record_with_path(sqlite3 *handle, const char *storage_id, c
char *_media_svc_get_thumb_default_path(uid_t uid)
{
+ int len = 0;
char *result_passwd = NULL;
struct group *grpinfo = NULL;
if (uid == getuid()) {
@@ -186,7 +187,9 @@ char *_media_svc_get_thumb_default_path(uid_t uid)
media_svc_error("getgrnam(users) returns NULL !");
return NULL;
}
- result_passwd = g_strdup(MEDIA_SVC_THUMB_DEFAULT_PATH);
+ len = strlen(MEDIA_SVC_THUMB_DEFAULT_PATH);
+ if (len > 0)
+ result_passwd = strndup(MEDIA_SVC_THUMB_DEFAULT_PATH, len);
} else {
char passwd_str[MEDIA_SVC_PATHNAME_SIZE] = {0, };
struct passwd *userinfo = getpwuid(uid);
@@ -204,8 +207,9 @@ char *_media_svc_get_thumb_default_path(uid_t uid)
media_svc_error("UID [%d] does not belong to 'users' group!", uid);
return NULL;
}
- snprintf(passwd_str, sizeof(passwd_str), "%s/share/media/.thumb/thumb_default.png", userinfo->pw_dir);
- result_passwd = g_strdup(passwd_str);
+ len = snprintf(passwd_str, sizeof(passwd_str), "%s/share/media/.thumb/thumb_default.png", userinfo->pw_dir);
+ if (len > 0)
+ result_passwd = strndup(passwd_str, len);
}
return result_passwd;
diff --git a/src/common/media-svc-util.c b/src/common/media-svc-util.c
index f727cbc..c933b4f 100755
--- a/src/common/media-svc-util.c
+++ b/src/common/media-svc-util.c
@@ -572,6 +572,7 @@ static int __media_svc_get_location_value(MMHandleType tag, double *longitude, d
static char *__media_svc_get_thumb_path(uid_t uid)
{
+ int len = 0;
char *result_passwd = NULL;
struct group *grpinfo = NULL;
if (uid == getuid()) {
@@ -580,7 +581,9 @@ static char *__media_svc_get_thumb_path(uid_t uid)
media_svc_error("getgrnam(users) returns NULL !");
return NULL;
}
- result_passwd = g_strdup(MEDIA_SVC_THUMB_PATH_PREFIX);
+ len = strlen(MEDIA_SVC_THUMB_PATH_PREFIX);
+ if (len > 0)
+ result_passwd = strndup(MEDIA_SVC_THUMB_PATH_PREFIX, len);
} else {
char passwd_str[MEDIA_SVC_PATHNAME_SIZE] = {0, };
struct passwd *userinfo = getpwuid(uid);
@@ -598,8 +601,9 @@ static char *__media_svc_get_thumb_path(uid_t uid)
media_svc_error("UID [%d] does not belong to 'users' group!", uid);
return NULL;
}
- snprintf(passwd_str, sizeof(passwd_str), "%s/share/media/.thumb", userinfo->pw_dir);
- result_passwd = g_strdup(passwd_str);
+ len = snprintf(passwd_str, sizeof(passwd_str), "%s/share/media/.thumb", userinfo->pw_dir);
+ if (len > 0)
+ result_passwd = strndup(passwd_str, len);
}
return result_passwd;
@@ -862,6 +866,7 @@ int _media_svc_remove_all_files_in_dir(const char *dir_path)
char *_media_svc_get_thumb_internal_path(uid_t uid)
{
+ int len = 0;
char *result_passwd = NULL;
struct group *grpinfo = NULL;
if (uid == getuid()) {
@@ -870,7 +875,9 @@ char *_media_svc_get_thumb_internal_path(uid_t uid)
media_svc_error("getgrnam(users) returns NULL !");
return NULL;
}
- result_passwd = g_strdup(MEDIA_SVC_THUMB_INTERNAL_PATH);
+ len = strlen(MEDIA_SVC_THUMB_INTERNAL_PATH);
+ if (len > 0)
+ result_passwd = strndup(MEDIA_SVC_THUMB_INTERNAL_PATH, len);
} else {
char passwd_str[MEDIA_SVC_PATHNAME_SIZE] = {0, };
struct passwd *userinfo = getpwuid(uid);
@@ -888,8 +895,9 @@ char *_media_svc_get_thumb_internal_path(uid_t uid)
media_svc_error("UID [%d] does not belong to 'users' group!", uid);
return NULL;
}
- snprintf(passwd_str, sizeof(passwd_str), "%s/share/media/.thumb/phone", userinfo->pw_dir);
- result_passwd = g_strdup(passwd_str);
+ len = snprintf(passwd_str, sizeof(passwd_str), "%s/share/media/.thumb/phone", userinfo->pw_dir);
+ if (len > 0)
+ result_passwd = strndup(passwd_str, len);
}
return result_passwd;
@@ -897,6 +905,7 @@ char *_media_svc_get_thumb_internal_path(uid_t uid)
char *_media_svc_get_thumb_external_path(uid_t uid)
{
+ int len = 0;
char *result_passwd = NULL;
struct group *grpinfo = NULL;
if (uid == getuid()) {
@@ -905,7 +914,9 @@ char *_media_svc_get_thumb_external_path(uid_t uid)
media_svc_error("getgrnam(users) returns NULL !");
return NULL;
}
- result_passwd = g_strdup(MEDIA_SVC_THUMB_EXTERNAL_PATH);
+ len = strlen(MEDIA_SVC_THUMB_EXTERNAL_PATH);
+ if (len > 0)
+ result_passwd = strndup(MEDIA_SVC_THUMB_EXTERNAL_PATH, len);
} else {
char passwd_str[MEDIA_SVC_PATHNAME_SIZE] = {0, };
struct passwd *userinfo = getpwuid(uid);
@@ -923,8 +934,9 @@ char *_media_svc_get_thumb_external_path(uid_t uid)
media_svc_error("UID [%d] does not belong to 'users' group!", uid);
return NULL;
}
- snprintf(passwd_str, sizeof(passwd_str), "%s/share/media/.thumb/mmc", userinfo->pw_dir);
- result_passwd = g_strdup(passwd_str);
+ len = snprintf(passwd_str, sizeof(passwd_str), "%s/share/media/.thumb/mmc", userinfo->pw_dir);
+ if (len > 0)
+ result_passwd = strndup(passwd_str, len);
}
return result_passwd;