diff options
author | Andrey A. Chernov <ache@FreeBSD.org> | 2003-12-24 10:16:46 +0000 |
---|---|---|
committer | Andrey A. Chernov <ache@FreeBSD.org> | 2003-12-24 10:16:46 +0000 |
commit | ad4688e13123b9abca6e62401008612d177b6ec2 (patch) | |
tree | 436d0bdcf89b139e2db7e6d30f15d33e1c784090 /lib/libc/locale/setlocale.c | |
parent | ba2bc772d12252e927c40a14cfc8c302c70388be (diff) | |
download | src-ad4688e13123b9abca6e62401008612d177b6ec2.tar.gz src-ad4688e13123b9abca6e62401008612d177b6ec2.zip |
Properly advance "x/y/z" form slash-pointers in some rare cases
PR: 60539
Notes
Notes:
svn path=/head/; revision=123801
Diffstat (limited to 'lib/libc/locale/setlocale.c')
-rw-r--r-- | lib/libc/locale/setlocale.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/libc/locale/setlocale.c b/lib/libc/locale/setlocale.c index 6829ae5bf2e3..2e428b31ace2 100644 --- a/lib/libc/locale/setlocale.c +++ b/lib/libc/locale/setlocale.c @@ -187,11 +187,11 @@ setlocale(category, locale) (void)strlcpy(new_categories[i], locale, len + 1); i++; + while (*r == '/') + r++; locale = r; - while (*locale == '/') - ++locale; - while (*++r && *r != '/') - ; + while (*r && *r != '/') + r++; } while (*locale); while (i < _LC_LAST) { (void)strcpy(new_categories[i], |