diff --git a/gstplugins_base/BUILD.gn b/gstplugins_base/BUILD.gn index f7509497e57ce927c96fd2b85bdd4b3f14284bff..d2abcae8689ff9c3b5a4bc7b01b3b8c487695700 100644 --- a/gstplugins_base/BUILD.gn +++ b/gstplugins_base/BUILD.gn @@ -1,4 +1,4 @@ -# Copyright (c) Huawei Technologies Co., Ltd. 2021. All rights reserved. +# Copyright (c) Huawei Technologies Co., Ltd. 2021. All rights reserved. import("//build/ohos.gni") @@ -49,6 +49,7 @@ config("gst_plugins_config") { "-Wno-builtin-requires-header", "-DOHOS_EXT_FUNC", "-DOHOS_OPT_COMPAT", + "-DOHOS_OPT_CVE", ] } diff --git a/gstplugins_base/gst-libs/gst/tag/id3v2frames.c b/gstplugins_base/gst-libs/gst/tag/id3v2frames.c index 8e9f7825495f5f2e0b2184ed15398e5fe3013cd5..bb915ba37e942f329fc3689dacf0bf05c0ab0f78 100644 --- a/gstplugins_base/gst-libs/gst/tag/id3v2frames.c +++ b/gstplugins_base/gst-libs/gst/tag/id3v2frames.c @@ -109,7 +109,11 @@ id3v2_parse_frame (ID3TagsWorking * work) if (work->frame_flags & (ID3V2_FRAME_FORMAT_COMPRESSION | ID3V2_FRAME_FORMAT_DATA_LENGTH_INDICATOR)) { +#ifdef OHOS_OPT_CVE + if (frame_data_size <= 4) +#else if (work->hdr.frame_data_size <= 4) +#endif return FALSE; if (ID3V2_VER_MAJOR (work->hdr.version) == 3) { work->parse_size = GST_READ_UINT32_BE (frame_data);