From 32dc2a19bb6a91862b414fdd6eec07154e5e4308 Mon Sep 17 00:00:00 2001 From: Mukesh Ojha Date: Fri, 2 Sep 2016 10:26:39 +0530 Subject: libc : Changes variable data type where return value of strlen() stored from int to size_t Reason of the change as integer value may overflow, and it can give negative value for the length. This patch also changes the data type of variable which is compared with strlen() as the comparison also has to be done on the same level. Signed-off-by: Mukesh Ojha Signed-off-by: Stewart Smith --- libc/stdio/vsnprintf.c | 4 ++-- libc/string/strcat.c | 2 +- libc/string/strstr.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'libc') diff --git a/libc/stdio/vsnprintf.c b/libc/stdio/vsnprintf.c index fbb84a0b..38d52818 100644 --- a/libc/stdio/vsnprintf.c +++ b/libc/stdio/vsnprintf.c @@ -26,7 +26,7 @@ static int print_str_fill(char **buffer, size_t bufsize, char *sizec, const char *str, char c) { - int i, sizei, len; + size_t i, sizei, len; char *bstart = *buffer; sizei = strtoul(sizec, NULL, 10); @@ -46,7 +46,7 @@ static int print_str(char **buffer, size_t bufsize, const char *str) { char *bstart = *buffer; - int i; + size_t i; for (i = 0; (i < strlen(str)) && ((*buffer - bstart) < bufsize); i++) { **buffer = str[i]; diff --git a/libc/string/strcat.c b/libc/string/strcat.c index eb597a02..936e5b10 100644 --- a/libc/string/strcat.c +++ b/libc/string/strcat.c @@ -15,7 +15,7 @@ char * strcat(char *dst, const char *src) { - int p; + size_t p; p = strlen(dst); strcpy(&dst[p], src); diff --git a/libc/string/strstr.c b/libc/string/strstr.c index 3e090d2c..a6e96187 100644 --- a/libc/string/strstr.c +++ b/libc/string/strstr.c @@ -16,7 +16,7 @@ char * strstr(const char *hay, const char *needle) { char *pos; - int hlen, nlen; + size_t hlen, nlen; if (hay == NULL || needle == NULL) return NULL; -- cgit v1.2.1