Add checker for id3tag v1 size and memory overlap issue fix 46/59246/2 accepted/tizen/ivi/20160218.023752 accepted/tizen/mobile/20160212.045849 accepted/tizen/tv/20160212.050000 accepted/tizen/wearable/20160212.050005 submit/tizen/20160211.235929 submit/tizen_common/20160218.142243 submit/tizen_ivi/20160217.000000 submit/tizen_ivi/20160217.000003
authorMinje Ahn <minje.ahn@samsung.com>
Thu, 11 Feb 2016 23:56:02 +0000 (08:56 +0900)
committerhj kim <backto.kim@samsung.com>
Thu, 11 Feb 2016 23:58:11 +0000 (15:58 -0800)
Change-Id: I4005065f31ab41a208ea12bf9949a661b57dccac
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
formats/ffmpeg/mm_file_format_mp3.c
packaging/libmm-fileinfo.spec

index 38f1c09..8786c1c 100755 (executable)
@@ -1271,10 +1271,12 @@ static int mmf_file_mp3_get_infomation(char *filename, AvFileContentInfo *pInfo)
 #endif
 
                pInfo->bV1tagFound = true;
-               /* In this case, V2 Tag alreay exist So, ignore V1 tag  */
-               if (pInfo->tagV2Info.tagLen == 0) {
-                       memcpy(TagBuff, (TagBuff + tagHeaderPos), MP3TAGINFO_SIZE);
-                       if (!mm_file_id3tag_parse_v110(pInfo, TagBuff))
+               /* In this case, V2 Tag not exist.. So, try to read V1 tag  */
+               if (pInfo->tagV2Info.tagLen == 0 && tagHeaderPos == TAGV1_SEEK_GAP) {
+                       unsigned char   TmpBuff[MP3TAGINFO_SIZE] = {0, };
+
+                       memcpy(TmpBuff, (TagBuff + tagHeaderPos), MP3TAGINFO_SIZE);
+                       if (!mm_file_id3tag_parse_v110(pInfo, TmpBuff))
                                goto EXCEPTION;
                }
        }
index 8d5ca3e..2e0c4a1 100755 (executable)
@@ -1,6 +1,6 @@
 Name:      libmm-fileinfo
 Summary:    Media Fileinfo
-Version:    0.6.42
+Version:    0.6.43
 Release:    0
 Group:      System/Libraries
 License:    Apache-2.0