diff options
author | Nick Mathewson <nickm@torproject.org> | 2006-08-31 17:39:51 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2006-08-31 17:39:51 +0000 |
commit | f170e5798fd7634a1be2c748464acb2ca485c9a3 (patch) | |
tree | 26153067b5e0ef42fca4ead32813c6b445006d75 /src | |
parent | bc0c39f85de6b55e431c13c85522abd2d2bccf7d (diff) | |
download | tor-f170e5798fd7634a1be2c748464acb2ca485c9a3.tar tor-f170e5798fd7634a1be2c748464acb2ca485c9a3.tar.gz |
r8692@Kushana: nickm | 2006-08-31 13:38:07 -0400
Fix bug 327 (part 2): Cast char to unsigned char before passing to toupper/tolower. (Follow the same idiom as with isupper and friends, in case we run into the same problem on SGI or whereever it was.)
svn:r8310
Diffstat (limited to 'src')
-rw-r--r-- | src/common/compat.h | 3 | ||||
-rw-r--r-- | src/common/container.c | 2 | ||||
-rw-r--r-- | src/common/util.c | 4 | ||||
-rw-r--r-- | src/or/config.c | 2 | ||||
-rw-r--r-- | src/or/routerparse.c | 2 |
5 files changed, 8 insertions, 5 deletions
diff --git a/src/common/compat.h b/src/common/compat.h index a4f52040a..f0757d577 100644 --- a/src/common/compat.h +++ b/src/common/compat.h @@ -155,6 +155,9 @@ const void *tor_memmem(const void *haystack, size_t hlen, const void *needle, #define TOR_ISLOWER(c) islower((int)(unsigned char)(c)) #define TOR_ISUPPER(c) isupper((int)(unsigned char)(c)) +#define TOR_TOLOWER(c) ((char)tolower((int)(unsigned char)(c))) +#define TOR_TOUPPER(c) ((char)toupper((int)(unsigned char)(c))) + #ifdef MS_WINDOWS #define _SHORT_FILE_ (tor_fix_source_file(__FILE__)) const char *tor_fix_source_file(const char *fname); diff --git a/src/common/container.c b/src/common/container.c index 34ec1aa5e..c5529058f 100644 --- a/src/common/container.c +++ b/src/common/container.c @@ -824,7 +824,7 @@ strmap_remove_lc(strmap_t *map, const char *key) * iter = strmap_iter_next_rmv(iter); * free(val); * } else { - * for (;*cp;cp++) *cp = toupper(*cp); + * for (;*cp;cp++) *cp = TOR_TOUPPER(*cp); * iter = strmap_iter_next(iter); * } * } diff --git a/src/common/util.c b/src/common/util.c index e5fea55da..f6fa063e8 100644 --- a/src/common/util.c +++ b/src/common/util.c @@ -308,7 +308,7 @@ void tor_strlower(char *s) { while (*s) { - *s = tolower(*s); + *s = TOR_TOLOWER(*s); ++s; } } @@ -319,7 +319,7 @@ void tor_strupper(char *s) { while (*s) { - *s = toupper(*s); + *s = TOR_TOUPPER(*s); ++s; } } diff --git a/src/or/config.c b/src/or/config.c index 86fd8066f..fd480a839 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -1737,7 +1737,7 @@ get_default_nickname(void) *cp = '\0'; break; } - *cp = tolower(*cp); + *cp = TOR_TOLOWER(*cp); } /* Strip invalid characters. */ diff --git a/src/or/routerparse.c b/src/or/routerparse.c index b9b3d2e02..69b1738a6 100644 --- a/src/or/routerparse.c +++ b/src/or/routerparse.c @@ -1279,7 +1279,7 @@ router_parse_addr_policy_from_string(const char *s, int assume_action) len = strlen(s); cp = tmp = tor_malloc(len+2); for (idx = 0; idx < len; ++idx) { - tmp[idx] = tolower(s[idx]); + tmp[idx] = TOR_TOLOWER(s[idx]); } tmp[len]='\n'; tmp[len+1]='\0'; |