35 lines
1.3 KiB
Diff
35 lines
1.3 KiB
Diff
|
From f9c5dd7a9bb19dc99de8ee046b0ac1506c494f4e Mon Sep 17 00:00:00 2001
|
||
|
From: Greg Hudson <ghudson@mit.edu>
|
||
|
Date: Thu, 6 Jun 2019 11:46:58 -0400
|
||
|
Subject: [PATCH] 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.
|
||
|
|
||
|
(cherry picked from commit 2d400bea7a81a5a834a1be6ded439f18e0afa5ba)
|
||
|
---
|
||
|
src/util/support/errors.c | 5 ++---
|
||
|
1 file changed, 2 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/src/util/support/errors.c b/src/util/support/errors.c
|
||
|
index 70e1d59d0..f8bea07a3 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
|