diff options
author | Greg Hudson <ghudson@mit.edu> | 2019-06-06 11:46:58 -0400 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2019-06-10 10:55:59 -0400 |
commit | 2d400bea7a81a5a834a1be6ded439f18e0afa5ba (patch) | |
tree | b97d1c4ae5bef9c11d9aa8fea19fa5858738fe4b /src/util | |
parent | ce8d619429255e0c1483d7fce3dffdc93baaac20 (diff) | |
download | krb5-2d400bea7a81a5a834a1be6ded439f18e0afa5ba.zip krb5-2d400bea7a81a5a834a1be6ded439f18e0afa5ba.tar.gz krb5-2d400bea7a81a5a834a1be6ded439f18e0afa5ba.tar.bz2 |
Remove strerror() calls from k5_get_error()
Coverity models strerror() as a function which cannot accept negative
values, even though it has defined behavior on all integers.
k5_get_error() contains code to call strerror_r() and strerror() if
its fptr global is unset, which isn't an expected case in practice.
To silence a large number of Coverity false positives, just return a
fixed string if fptr is null.
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/support/errors.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/util/support/errors.c b/src/util/support/errors.c index 70e1d59..f8bea07 100644 --- a/src/util/support/errors.c +++ b/src/util/support/errors.c @@ -78,10 +78,9 @@ k5_get_error(struct errinfo *ep, long code) lock(); if (fptr == NULL) { + /* Should be rare; fptr should be set whenever libkrb5 is loaded. */ unlock(); - if (strerror_r(code, buf, sizeof(buf)) == 0) - return oom_check(strdup(buf)); - return oom_check(strdup(strerror(code))); + return oom_check(strdup(_("Error code translation unavailable"))); } r = fptr(code); #ifndef HAVE_COM_ERR_INTL |