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 fbb84a0..38d5281 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 eb597a0..936e5b1 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 3e090d2..a6e9618 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.1