Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Larmour <jifl@eCosCentric.com>2001-06-11 21:21:18 +0400
committerJonathan Larmour <jifl@eCosCentric.com>2001-06-11 21:21:18 +0400
commit43b44bc5ad877a2244750ba721142cae0a35d20b (patch)
tree58f8a6f24009f656449c918e90bfbdbc9b254118 /newlib/libc
parentf375b8d9f413dc386e52c860a55db74b8095e72a (diff)
* libc/stdlib/mbtowc_r.c (_mbtowc_r): Avoid dereferencing
NULL pointer.
Diffstat (limited to 'newlib/libc')
-rw-r--r--newlib/libc/stdlib/mbtowc_r.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c
index 7d718c8b0..4bf302359 100644
--- a/newlib/libc/stdlib/mbtowc_r.c
+++ b/newlib/libc/stdlib/mbtowc_r.c
@@ -68,9 +68,10 @@ _DEFUN (_mbtowc_r, (r, pwc, s, n, state),
{ /* fall-through */ }
else if (!strcmp (r->_current_locale, "C-SJIS"))
{
- int char1 = *t;
+ int char1;
if (s == NULL)
return 0; /* not state-dependent */
+ char1 = *t;
if (_issjis1 (char1))
{
int char2 = t[1];
@@ -87,9 +88,10 @@ _DEFUN (_mbtowc_r, (r, pwc, s, n, state),
}
else if (!strcmp (r->_current_locale, "C-EUCJP"))
{
- int char1 = *t;
+ int char1;
if (s == NULL)
return 0; /* not state-dependent */
+ char1 = *t;
if (_iseucjp (char1))
{
int char2 = t[1];