summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Marheine <pmarheine@chromium.org>2023-01-11 12:41:01 +1100
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-01-11 23:29:24 +0000
commit2159effd01d42b58567a5736844e809f4ad29b30 (patch)
tree2325cc825e4bf5dd3a463daa43db5afd8f1ca010
parentd1af62d34e44f9b79b109e6c418671a35c599c81 (diff)
downloadchrome-ec-2159effd01d42b58567a5736844e809f4ad29b30.tar.gz
battery_get_static: use strzcpy
It's simpler to use strzcpy instead of memcpy and manually inserting terminators, since strzcpy will ensure the output is terminated correctly (unlike strncpy). BUG=none TEST=builds BRANCH=none Change-Id: I21d3f61fb439136ba5c1ecc0b700d4c284267dfc Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4150678 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
-rw-r--r--common/battery_v2.c30
1 files changed, 10 insertions, 20 deletions
diff --git a/common/battery_v2.c b/common/battery_v2.c
index 50b5fb12f1..aed98a5a1b 100644
--- a/common/battery_v2.c
+++ b/common/battery_v2.c
@@ -98,16 +98,11 @@ host_command_battery_get_static(struct host_cmd_handler_args *args)
r->design_voltage = bs->design_voltage;
r->cycle_count = bs->cycle_count;
- /* Truncate strings to reduced v0 size */
- memcpy(&r->manufacturer, &bs->manufacturer_ext,
- sizeof(r->manufacturer));
- r->manufacturer[sizeof(r->manufacturer) - 1] = 0;
- memcpy(&r->model, &bs->model_ext, sizeof(r->model));
- r->model[sizeof(r->model) - 1] = 0;
- memcpy(&r->serial, &bs->serial_ext, sizeof(r->serial));
- r->serial[sizeof(r->serial) - 1] = 0;
- memcpy(&r->type, &bs->type_ext, sizeof(r->type));
- r->type[sizeof(r->type) - 1] = 0;
+ strzcpy(r->manufacturer, bs->manufacturer_ext,
+ sizeof(r->manufacturer));
+ strzcpy(r->model, bs->model_ext, sizeof(r->model));
+ strzcpy(r->serial, bs->serial_ext, sizeof(r->serial));
+ strzcpy(r->type, bs->type_ext, sizeof(r->type));
args->response_size = sizeof(*r);
} else if (args->version == 1) {
@@ -117,16 +112,11 @@ host_command_battery_get_static(struct host_cmd_handler_args *args)
r->design_voltage = bs->design_voltage;
r->cycle_count = bs->cycle_count;
- /* Truncate strings to reduced size */
- memcpy(r->manufacturer_ext, &bs->manufacturer_ext,
- sizeof(r->manufacturer_ext));
- r->manufacturer_ext[sizeof(r->manufacturer_ext) - 1] = 0;
- memcpy(r->model_ext, &bs->model_ext, sizeof(r->model_ext));
- r->model_ext[sizeof(r->model_ext) - 1] = 0;
- memcpy(r->serial_ext, &bs->serial_ext, sizeof(r->serial_ext));
- r->serial_ext[sizeof(r->serial_ext) - 1] = 0;
- memcpy(r->type_ext, &bs->type_ext, sizeof(r->type_ext));
- r->type_ext[sizeof(r->type_ext) - 1] = 0;
+ strzcpy(r->manufacturer_ext, bs->manufacturer_ext,
+ sizeof(r->manufacturer_ext));
+ strzcpy(r->model_ext, bs->model_ext, sizeof(r->model_ext));
+ strzcpy(r->serial_ext, bs->serial_ext, sizeof(r->serial_ext));
+ strzcpy(r->type_ext, bs->type_ext, sizeof(r->type_ext));
args->response_size = sizeof(*r);
} else {