Avoid calling dlerror() multiple times since it clear the error

status after printing the error.
Problem caused by sudo_warn/sudo_fatal being macros...
This commit is contained in:
Todd C. Miller
2015-07-10 10:31:21 -06:00
parent 42666204e2
commit 374146f70f
4 changed files with 16 additions and 6 deletions

View File

@@ -328,7 +328,9 @@ sudo_sss_open(struct sudo_nss *nss)
/* Load symbols */
handle->ssslib = sudo_dso_load(path, SUDO_DSO_LAZY);
if (handle->ssslib == NULL) {
sudo_warnx(U_("unable to load %s: %s"), path, sudo_dso_strerror());
const char *errstr = sudo_dso_strerror();
sudo_warnx(U_("unable to load %s: %s"), path,
errstr ? errstr : "unknown error");
sudo_warnx(U_("unable to initialize SSS source. Is SSSD installed on your machine?"));
free(handle);
debug_return_int(EFAULT);