summaryrefslogtreecommitdiffstats
path: root/lib/libc/gdtoa/dmisc.c
diff options
context:
space:
mode:
authormartynas <martynas@openbsd.org>2009-10-16 12:15:03 +0000
committermartynas <martynas@openbsd.org>2009-10-16 12:15:03 +0000
commit384cfdc17f187fdfda3c3de624a12d09397918b3 (patch)
tree829022ef0c09ec5d77cf4e4b653040c3a44dd31e /lib/libc/gdtoa/dmisc.c
parentsort flags in synopsis, usage, and description. (diff)
downloadwireguard-openbsd-384cfdc17f187fdfda3c3de624a12d09397918b3.tar.xz
wireguard-openbsd-384cfdc17f187fdfda3c3de624a12d09397918b3.zip
teach gdtoa & its subroutines that malloc can fail; in which case
ecvt, fcvt, gcvt, *printf, strtof, strtod, strtold act per ieee 1003.1. after these massive changes, remove unused files which would not work now. reported by Maksymilian Arciemowicz; ok theo
Diffstat (limited to 'lib/libc/gdtoa/dmisc.c')
-rw-r--r--lib/libc/gdtoa/dmisc.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/libc/gdtoa/dmisc.c b/lib/libc/gdtoa/dmisc.c
index ce170c733bf..585cbfc9a56 100644
--- a/lib/libc/gdtoa/dmisc.c
+++ b/lib/libc/gdtoa/dmisc.c
@@ -50,6 +50,12 @@ rv_alloc(int i)
j <<= 1)
k++;
r = (int*)Balloc(k);
+ if (r == NULL)
+ return (
+#ifndef MULTIPLE_THREADS
+ dtoa_result =
+#endif
+ NULL);
*r = k;
return
#ifndef MULTIPLE_THREADS
@@ -68,6 +74,8 @@ nrv_alloc(char *s, char **rve, int n)
char *rv, *t;
t = rv = rv_alloc(n);
+ if (t == NULL)
+ return NULL;
while((*t = *s++) !=0)
t++;
if (rve)