From: Felix Fietkau Date: Tue, 20 Jan 2009 13:17:29 +0000 (+0100) Subject: fix signed vs unsigned char validation bug X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fuci.git;a=commitdiff_plain;h=cfdea3894f809aada2cf10ba2914aebe8b92316d;ds=sidebyside fix signed vs unsigned char validation bug --- diff --git a/util.c b/util.c index e56992e..cb88968 100644 --- a/util.c +++ b/util.c @@ -86,7 +86,7 @@ __plugin bool uci_validate_str(const char *str, bool name) return false; while (*str) { - char c = *str; + unsigned char c = *str; if (!isalnum(c) && c != '_') { if (name || (c < 33) || (c > 126)) return false; @@ -114,8 +114,9 @@ static inline bool uci_validate_name(const char *str) bool uci_validate_text(const char *str) { while (*str) { - if ((*str == '\r') || (*str == '\n') || - ((*str < 32) && (*str != '\t'))) + unsigned char c = *str; + if ((c == '\r') || (c == '\n') || + ((c < 32) && (c != '\t'))) return false; str++; }