diff options
author | Florian Weimer <fweimer@redhat.com> | 2020-05-19 14:09:38 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2020-05-19 14:09:57 +0200 |
commit | 790b8dda4455865cb8c3a47801f4304c1a43baf6 (patch) | |
tree | f410f4425e93ec71223199ef2075574758bb1541 /elf | |
parent | 765de945efc5d5602999b2999fe8abdf04881370 (diff) | |
download | glibc-790b8dda4455865cb8c3a47801f4304c1a43baf6.tar.gz glibc-790b8dda4455865cb8c3a47801f4304c1a43baf6.tar.xz glibc-790b8dda4455865cb8c3a47801f4304c1a43baf6.zip |
nss_compat: internal_end*ent may clobber errno, hiding ERANGE [BZ #25976]
During cleanup, before returning from get*_r functions, the end*ent calls must not change errno. Otherwise, an ERANGE error from the underlying implementation can be hidden, causing unexpected lookup failures. This commit introduces an internal_end*ent_noerror function which saves and restore errno, and marks the original internal_end*ent function as warn_unused_result, so that it is used only in contexts were errors from it can be handled explicitly. Reviewed-by: DJ Delorie <dj@redhat.com>
Diffstat (limited to 'elf')
0 files changed, 0 insertions, 0 deletions