From: hj kim Date: Wed, 20 May 2020 09:45:16 +0000 (+0900) Subject: check NULL before getting metadata X-Git-Tag: submit/tizen/20200602.021203~13 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4f7cbca21afc05e71b1c63d0397535ea4981cead;p=platform%2Fcore%2Fapi%2Fmetadata-editor.git check NULL before getting metadata toString() returns "", when String is NULL Change-Id: I8a8b1da78a4747725bdf6bc8a59e6b2277bd084e --- diff --git a/src/metadata_editor.cpp b/src/metadata_editor.cpp index 219aaeb..10e8343 100755 --- a/src/metadata_editor.cpp +++ b/src/metadata_editor.cpp @@ -117,15 +117,17 @@ static int __ID3_getTwixFrameByName(metadata_editor_s *_metadata, ID3v1::Tag *ta metadata_editor_info("Reading data from ID3v1 tag"); - if (!strcmp(frameID, "TPE1")) /* artist */ + //check isNull(). toCString() returns "", when String is NULL. + //for "genre", taglib returns "", if genre is out or range. + if (!strcmp(frameID, "TPE1") && !(tag1->artist().isNull())) /* artist */ *value = g_strdup(tag1->artist().toCString(true)); - else if (!strcmp(frameID, "TALB")) /* album */ + else if (!strcmp(frameID, "TALB") && !(tag1->album().isNull())) /* album */ *value = g_strdup(tag1->album().toCString(true)); - else if (!strcmp(frameID, "COMM")) /* comment */ + else if (!strcmp(frameID, "COMM") && !(tag1->comment().isNull())) /* comment */ *value = g_strdup(tag1->comment().toCString(true)); - else if (!strcmp(frameID, "TCON")) /* genre */ + else if (!strcmp(frameID, "TCON") && !(tag1->genre().isNull()) && !(tag1->genre().isEmpty())) /* genre */ *value = g_strdup(tag1->genre().toCString(true)); - else if (!strcmp(frameID, "TIT2")) /* title */ + else if (!strcmp(frameID, "TIT2") && !(tag1->title().isNull())) /* title */ *value = g_strdup(tag1->title().toCString(true)); else if (!strcmp(frameID, "TRCK")) /* track */ *value = g_strdup_printf("%u", tag1->track()); @@ -278,7 +280,8 @@ static int __ID3_getLyricsFrame(metadata_editor_s *_metadata, ID3v2::Tag *tag2, auto it = lst.begin(); auto frame = static_cast(*it); - *value = g_strdup(frame->text().toCString(true)); + if (!(frame->text().isNull())) + *value = g_strdup(frame->text().toCString(true)); return METADATA_EDITOR_ERROR_NONE; }