diff options
Diffstat (limited to 'usr/src/lib/print/libpapi-dynamic/common/nss.c')
-rw-r--r-- | usr/src/lib/print/libpapi-dynamic/common/nss.c | 9 |
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; |