OSDN Git Service

fix undefined behavior in strto* via FILE buffer pointer abuse
[android-x86/external-musl-libc.git] / src / stdlib / strtod.c
index a898b1d..a5d0118 100644 (file)
@@ -5,10 +5,8 @@
 
 static long double strtox(const char *s, char **p, int prec)
 {
-       FILE f = {
-               .buf = (void *)s, .rpos = (void *)s,
-               .rend = (void *)-1, .lock = -1
-       };
+       FILE f;
+       sh_fromstring(&f, s);
        shlim(&f, 0);
        long double y = __floatscan(&f, prec, 1);
        off_t cnt = shcnt(&f);