diff options
author | Peter Marheine <pmarheine@chromium.org> | 2023-01-11 12:41:01 +1100 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2023-01-11 23:29:24 +0000 |
commit | 2159effd01d42b58567a5736844e809f4ad29b30 (patch) | |
tree | 2325cc825e4bf5dd3a463daa43db5afd8f1ca010 | |
parent | d1af62d34e44f9b79b109e6c418671a35c599c81 (diff) | |
download | chrome-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.c | 30 |
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 { |