about summary refs log tree commit diff
path: root/wcsmbs/mbrtoc16.c
diff options
context:
space:
mode:
authorOndřej Bílka <neleai@seznam.cz>2015-04-03 15:46:29 +0200
committerOndřej Bílka <neleai@seznam.cz>2015-04-03 15:47:12 +0200
commit9781a370023952383028e07399fd196a889bb2be (patch)
treed2bdc44694972edf0396a73342f5738898d4c066 /wcsmbs/mbrtoc16.c
parent37d60d970c342b7f21a173a363c8be6558ad6e6e (diff)
downloadglibc-9781a370023952383028e07399fd196a889bb2be.tar.gz
glibc-9781a370023952383028e07399fd196a889bb2be.tar.xz
glibc-9781a370023952383028e07399fd196a889bb2be.zip
Handle mblen return code when n is zero.
Diffstat (limited to 'wcsmbs/mbrtoc16.c')
-rw-r--r--wcsmbs/mbrtoc16.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/wcsmbs/mbrtoc16.c b/wcsmbs/mbrtoc16.c
index 542e5cf671..f23b24262b 100644
--- a/wcsmbs/mbrtoc16.c
+++ b/wcsmbs/mbrtoc16.c
@@ -77,6 +77,9 @@ mbrtoc16 (char16_t *pc16, const char *s, size_t n, mbstate_t *ps)
       n = 1;
     }
 
+  if (n == 0)
+    return (size_t) -2;
+
   /* Tell where we want the result.  */
   data.__outbuf = outbuf;
   data.__outbufend = outbuf + sizeof (wchar_t);