mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-18 10:53:34 +08:00
BlockParam: : ensure result of strncpy is null-terminated
This commit is contained in:
@@ -51,7 +51,8 @@ BlockParamBase::BlockParamBase(Block *parent, const char *name, bool parent_pref
|
||||
char fullname[blockNameLengthMax];
|
||||
|
||||
if (parent == nullptr) {
|
||||
strncpy(fullname, name, blockNameLengthMax);
|
||||
strncpy(fullname, name, blockNameLengthMax - 1);
|
||||
fullname[sizeof(fullname) - 1] = '\0';
|
||||
|
||||
} else {
|
||||
char parentName[blockNameLengthMax];
|
||||
@@ -63,7 +64,9 @@ BlockParamBase::BlockParamBase(Block *parent, const char *name, bool parent_pref
|
||||
fullname[sizeof(fullname) - 1] = '\0';
|
||||
|
||||
} else if (parent_prefix) {
|
||||
snprintf(fullname, blockNameLengthMax, "%s_%s", parentName, name);
|
||||
if (snprintf(fullname, blockNameLengthMax, "%s_%s", parentName, name) >= blockNameLengthMax) {
|
||||
PX4_ERR("param too long: %s", name);
|
||||
}
|
||||
|
||||
} else {
|
||||
strncpy(fullname, name, blockNameLengthMax);
|
||||
|
||||
Reference in New Issue
Block a user