diff options
author | marcel <marcel@FreeBSD.org> | 2003-10-22 09:00:07 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2003-10-22 09:00:07 +0000 |
commit | e03bb881018e9b61df99d63b91b69897ff7be763 (patch) | |
tree | 4436214cd380a54a0d4681fb1c1e34fd30d2da6f /lib/libc/stdlib/exit.c | |
parent | c61cedd97752e28ce8905b150f22b28abce05def (diff) | |
download | FreeBSD-src-e03bb881018e9b61df99d63b91b69897ff7be763.zip FreeBSD-src-e03bb881018e9b61df99d63b91b69897ff7be763.tar.gz |
The FP status register allows for 6 traps to be masked. One of them,
the denormal/unnormal trap, is not a standard IEEE trap. We did
not exclude it from being returned by fpgetmask(), nor did we make
sure that fpsetmask() didn't clobber it. Since the non-IEEE trap
is not part of fp_except_t, users of ifpgetmask()/fpsetmask() would
be confronted with unexpected behaviour, one of which is a SIGFPE
for denormal/unnormal FP results.
This commit makes sure that we don't leak the denormal/unnormal mask
bit in fp_except_t and also that we don't clobber it.
Diffstat (limited to 'lib/libc/stdlib/exit.c')
0 files changed, 0 insertions, 0 deletions