diff options
Diffstat (limited to 'nss/nsswitch.c')
-rw-r--r-- | nss/nsswitch.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/nss/nsswitch.c b/nss/nsswitch.c index 16e1caf50d..79c9d2706d 100644 --- a/nss/nsswitch.c +++ b/nss/nsswitch.c @@ -235,12 +235,17 @@ __nss_configure_lookup (const char *dbname, const char *service_line) static int nss_dlerror_run (void (*operate) (void)) { - const char *last_errstring = NULL; + char *last_errstring = NULL; const char *last_object_name = NULL; + int result; (void) _dl_catch_error (&last_errstring, &last_object_name, operate); - return last_errstring != NULL; + result = last_errstring != NULL; + if (result) + free (last_errstring); + + return result; } |