From 0b1944e7d0c04ebd292d41f9db69b5b178ccb444 Mon Sep 17 00:00:00 2001 From: Jiyong Min Date: Mon, 24 Oct 2016 14:20:51 +0900 Subject: [PATCH] Fix 64bit crash & tc fail when get content info from buffer [Problem] 64bit address is 8 byte(64bit), so the URI of memory buffer should be assigned to 8 byte string. The typecast of memory buffer is changed from unsigned int(4 byte) to unsigned long(8 byte). In 32bit, unsigned int and unsigned long are 4 byte. It has no problem for 32bit. Change-Id: I09fa95e4c1cf937651c1c4e77d30053f577d7c2d Signed-off-by: Jiyong Min --- formats/ffmpeg/mm_file_formats.c | 2 +- packaging/libmm-fileinfo.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/formats/ffmpeg/mm_file_formats.c b/formats/ffmpeg/mm_file_formats.c index 40d334f..ebd19d1 100755 --- a/formats/ffmpeg/mm_file_formats.c +++ b/formats/ffmpeg/mm_file_formats.c @@ -477,7 +477,7 @@ _PreprocessFile(MMFileSourceType *fileSrc, char **urifilename, int *formatEnum) } else if (fileSrc->type == MM_FILE_SRC_TYPE_MEMORY) { char tempURIBuffer[MMFILE_URI_MAX_LEN] = {0, }; - snprintf(tempURIBuffer, MMFILE_URI_MAX_LEN, "%s%u:%u", MMFILE_MEM_URI, (unsigned int)fileSrc->memory.ptr, fileSrc->memory.size); + snprintf(tempURIBuffer, MMFILE_URI_MAX_LEN, "%s%lu:%u", MMFILE_MEM_URI, (unsigned long)fileSrc->memory.ptr, fileSrc->memory.size); *urifilename = mmfile_strdup(tempURIBuffer); if (!*urifilename) { debug_error("error: uri is NULL\n"); diff --git a/packaging/libmm-fileinfo.spec b/packaging/libmm-fileinfo.spec index ba141cf..14edf9a 100755 --- a/packaging/libmm-fileinfo.spec +++ b/packaging/libmm-fileinfo.spec @@ -1,6 +1,6 @@ Name: libmm-fileinfo Summary: Media Fileinfo -Version: 0.6.49 +Version: 0.6.50 Release: 0 Group: System/Libraries License: Apache-2.0 -- 2.7.4