diff options
author | 2009-10-16 12:15:03 +0000 | |
---|---|---|
committer | 2009-10-16 12:15:03 +0000 | |
commit | 384cfdc17f187fdfda3c3de624a12d09397918b3 (patch) | |
tree | 829022ef0c09ec5d77cf4e4b653040c3a44dd31e /lib/libc/gdtoa/dmisc.c | |
parent | sort flags in synopsis, usage, and description. (diff) | |
download | wireguard-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.c | 8 |
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) |