summaryrefslogtreecommitdiff
path: root/usr/src/lib/print/libpapi-dynamic/common/nss.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/print/libpapi-dynamic/common/nss.c')
-rw-r--r--usr/src/lib/print/libpapi-dynamic/common/nss.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/usr/src/lib/print/libpapi-dynamic/common/nss.c b/usr/src/lib/print/libpapi-dynamic/common/nss.c
index c20b33daf8..dbb2c87e78 100644
--- a/usr/src/lib/print/libpapi-dynamic/common/nss.c
+++ b/usr/src/lib/print/libpapi-dynamic/common/nss.c
@@ -100,9 +100,16 @@ solaris_lpsched_shortcircuit_hack(papi_attribute_t ***list)
papiAttributeListGetString(*list, NULL,
"printer-uri-supported", &printer);
- if (uri_from_string(printer, &uri) < 0)
+ /* if there is no printer-uri-supported, there is nothing to do */
+ if (printer == NULL)
return;
+ if (uri_from_string(printer, &uri) < 0) {
+ papiAttributeListFree(*list);
+ *list = NULL;
+ return;
+ }
+
/* already an lpsched URI ? */
if (strcasecmp(uri->scheme, "lpsched") == 0)
return;