aboutsummaryrefslogtreecommitdiff
path: root/libc/upstream-openbsd/lib/libc/gdtoa/strtodg.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/upstream-openbsd/lib/libc/gdtoa/strtodg.c')
-rw-r--r--libc/upstream-openbsd/lib/libc/gdtoa/strtodg.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libc/upstream-openbsd/lib/libc/gdtoa/strtodg.c b/libc/upstream-openbsd/lib/libc/gdtoa/strtodg.c
index defb4740e..753f6bf0e 100644
--- a/libc/upstream-openbsd/lib/libc/gdtoa/strtodg.c
+++ b/libc/upstream-openbsd/lib/libc/gdtoa/strtodg.c
@@ -363,7 +363,10 @@ strtodg
static int dplen;
if (!(s0 = decimalpoint_cache)) {
s0 = localeconv()->decimal_point;
- decimalpoint_cache = strdup(s0);
+ if ((decimalpoint_cache = (char*)MALLOC(strlen(s0) + 1))) {
+ strlcpy(decimalpoint_cache, s0, strlen(s0) + 1);
+ s0 = decimalpoint_cache;
+ }
dplen = strlen(s0);
}
decimalpoint = (char*)s0;