From: Jaehoon Chung Date: Mon, 25 Mar 2024 02:12:31 +0000 (+0900) Subject: dynamic-partition: liblp: Fix an abnormal completion to do strncpy X-Git-Tag: accepted/tizen/unified/20240325.141306^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F04%2F308404%2F2;p=platform%2Fcore%2Fsystem%2Fupgrade.git dynamic-partition: liblp: Fix an abnormal completion to do strncpy Fix an abnormal completion to do strncpy. Use deviceinfo.partition_name.size instead of sizeof(out.partiton_name). Change-Id: I8b3605f609a731f5529b1e6b1b8702fb549e08d5 Signed-off-by: Jaehoon Chung --- diff --git a/src/dynamic-partitions/liblp/builder.cpp b/src/dynamic-partitions/liblp/builder.cpp index 6743910..1d86441 100644 --- a/src/dynamic-partitions/liblp/builder.cpp +++ b/src/dynamic-partitions/liblp/builder.cpp @@ -325,11 +325,11 @@ bool MetadataBuilder::Init(const std::vector& block_devices, out.alignment = device_info.alignment; out.alignment_offset = device_info.alignment_offset; out.size = device_info.size; - if (device_info.partition_name.size() > sizeof(out.partition_name)) { + if (device_info.partition_name.size() >= sizeof(out.partition_name)) { LERROR << "Partition name " << device_info.partition_name << " exceeds maximum length."; return false; } - strncpy(out.partition_name, device_info.partition_name.c_str(), sizeof(out.partition_name)); + strncpy(out.partition_name, device_info.partition_name.c_str(), device_info.partition_name.size()); // In the case of the super partition, this field will be adjusted // later. For all partitions, the first 512 bytes are considered