From d12031bf2789dc0f9d6aa3e8f31c0f5ba3f983b5 Mon Sep 17 00:00:00 2001 From: Adrian Salido Date: Wed, 29 Mar 2017 15:58:38 -0700 Subject: [PATCH] power: Fix power hal compiler warnings Bug: 30432975 Test: compile power hal for walleye without warnings Change-Id: I0d90c26462c662690f8a179250000b9a449a109f Signed-off-by: Arian --- hint-data.c | 5 ++++- metadata-defs.h | 4 ++-- metadata-parser.c | 17 +++++++---------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/hint-data.c b/hint-data.c index b979693..26d2094 100644 --- a/hint-data.c +++ b/hint-data.c @@ -27,6 +27,9 @@ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#define LOG_TAG "QTI PowerHAL" +#include + #include "hint-data.h" int hint_compare(struct hint_data* first_hint, struct hint_data* other_hint) { @@ -40,5 +43,5 @@ int hint_compare(struct hint_data* first_hint, struct hint_data* other_hint) { } void hint_dump(struct hint_data* hint) { - /*ALOGI("hint_id: %lu", hint->hint_id);*/ + ALOGV("hint_id: %lu", hint->hint_id); } diff --git a/metadata-defs.h b/metadata-defs.h index 7160af4..bbc5fbf 100644 --- a/metadata-defs.h +++ b/metadata-defs.h @@ -46,8 +46,8 @@ struct video_decode_metadata_t { int state; }; -int parse_metadata(char* metadata, char** metadata_saveptr, char* attribute, int attribute_size, - char* value, int value_size); +int parse_metadata(char* metadata, char** metadata_saveptr, char* attribute, + unsigned int attribute_size, char* value, unsigned int value_size); int parse_video_encode_metadata(char* metadata, struct video_encode_metadata_t* video_encode_metadata); int parse_video_decode_metadata(char* metadata, diff --git a/metadata-parser.c b/metadata-parser.c index 30efee8..4a8bc30 100644 --- a/metadata-parser.c +++ b/metadata-parser.c @@ -33,8 +33,8 @@ #include "metadata-defs.h" -int parse_metadata(char* metadata, char** metadata_saveptr, char* attribute, int attribute_size, - char* value, int value_size) { +int parse_metadata(char* metadata, char** metadata_saveptr, char* attribute, + unsigned int attribute_size, char* value, unsigned int value_size) { char* attribute_string; char* attribute_value_delim; unsigned int bytes_to_copy; @@ -46,15 +46,12 @@ int parse_metadata(char* metadata, char** metadata_saveptr, char* attribute, int attribute[0] = value[0] = '\0'; if ((attribute_value_delim = strchr(attribute_string, ATTRIBUTE_VALUE_DELIM)) != NULL) { - bytes_to_copy = MIN((attribute_value_delim - attribute_string), attribute_size - 1); - /* Replace strncpy with strlcpy - * Add +1 to bytes_to_copy as strlcpy copies size-1 bytes */ - strlcpy(attribute, attribute_string, bytes_to_copy + 1); + unsigned int attribute_len = (unsigned int)(attribute_value_delim - attribute_string); + /* copy only attribute len + NUL character, or as much as can be fit */ + bytes_to_copy = MIN(attribute_len + 1, attribute_size); - bytes_to_copy = MIN(strlen(attribute_string) - strlen(attribute) - 1, value_size - 1); - /* Replace strncpy with strlcpy - * Add +1 to bytes_to_copy as strlcpy copies size-1 bytes */ - strlcpy(value, attribute_value_delim + 1, bytes_to_copy + 1); + strlcpy(attribute, attribute_string, bytes_to_copy); + strlcpy(value, attribute_value_delim + 1, value_size); } return METADATA_PARSING_CONTINUE;