summaryrefslogtreecommitdiff
path: root/src/common/media-svc-util.c
diff options
context:
space:
mode:
authorhj kim <backto.kim@samsung.com>2018-03-19 17:40:52 +0900
committerMinje ahn <minje.ahn@samsung.com>2018-03-20 00:10:59 +0000
commitee57f35e8dcde5d9dc8251dab0c846f1e67c8deb (patch)
tree58f78d487091bd736fa1f0f504caf4f8d8506880 /src/common/media-svc-util.c
parentba050f81cb3a0e9c73b63fa04ab4ec4a93ace74e (diff)
downloadlibmedia-service-ee57f35e8dcde5d9dc8251dab0c846f1e67c8deb.tar.gz
libmedia-service-ee57f35e8dcde5d9dc8251dab0c846f1e67c8deb.tar.bz2
libmedia-service-ee57f35e8dcde5d9dc8251dab0c846f1e67c8deb.zip
Change-Id: If134d399ad2b442477c703070a58230057f25c9f
Diffstat (limited to 'src/common/media-svc-util.c')
-rwxr-xr-xsrc/common/media-svc-util.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/common/media-svc-util.c b/src/common/media-svc-util.c
index 608b44c..16fb4fd 100755
--- a/src/common/media-svc-util.c
+++ b/src/common/media-svc-util.c
@@ -953,17 +953,22 @@ int image_360_check(char *path)
FILE *fp = NULL;
long app1_size = 0;
int size = 1;
- unsigned char exif_header[4];
- unsigned char exif_app1[2];
- unsigned char exif_app1_xmp[2];
+ unsigned char exif_header[4] = {0, };
+ unsigned char exif_app1[2] = {0, };
+ unsigned char exif_app1_xmp[2] = {0, };
long exif_app1_xmp_size = 0;
- unsigned char exif_app1_xmp_t[2];
+ unsigned char exif_app1_xmp_t[2] = {0, };
char *xmp_data = NULL;
int size1 = 0;
int size2 = 0;
int fdata = 0;
int temp = 0;
+ memset(exif_header, 0x00, sizeof(exif_header));
+ memset(exif_app1, 0x00, sizeof(exif_app1));
+ memset(exif_app1_xmp, 0x00, sizeof(exif_app1_xmp));
+ memset(exif_app1_xmp_t, 0x00, sizeof(exif_app1_xmp_t));
+
fp = fopen(path, "rb");
if (fp == NULL)
goto ERROR;
@@ -1001,9 +1006,10 @@ int image_360_check(char *path)
exif_app1_xmp_size = size1 * 256 + size2 - 2;
- xmp_data = (char *)malloc(exif_app1_xmp_size);
- if (xmp_data != NULL) {
+ if (exif_app1_xmp_size > 0) {
+ xmp_data = (char *)malloc(exif_app1_xmp_size);
memset(xmp_data, 0x0, exif_app1_xmp_size);
+
ptr = xmp_data;
while (exif_app1_xmp_size >= 0) {
@@ -1027,7 +1033,7 @@ int image_360_check(char *path)
SAFE_FREE(xmp_data);
} else {
- media_svc_error("malloc failed");
+ media_svc_error("invalid exif_app1_xmp_size [%ld]", exif_app1_xmp_size);
}
if (fp) {
@@ -1447,7 +1453,6 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, media_svc_content_info_s
SAFE_FREE(time_info);
} else {
media_svc_error("memory allocation error");
- ret = MS_MEDIA_ERR_OUT_OF_MEMORY;
}
} else {
content_info->media_meta.recorded_date = g_strdup(p);