summaryrefslogtreecommitdiff
path: root/source3/printing/print_cups.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2009-06-19 17:20:00 -0700
committerJeremy Allison <jra@samba.org>2009-06-19 17:20:00 -0700
commit271d09f5992bdfe1eba6cfb39563cc899eeda178 (patch)
tree0f0faf41f05e95c87cb1cee81aacdb00f1137f48 /source3/printing/print_cups.c
parentd9eb1d9764a27ae63c8d7f13d7f4148fd1833753 (diff)
downloadsamba-271d09f5992bdfe1eba6cfb39563cc899eeda178.tar.gz
Fix coverity #740. Resource leak in error paths. We should
always return queue here as the caller will free. Jeremy.
Diffstat (limited to 'source3/printing/print_cups.c')
-rw-r--r--source3/printing/print_cups.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/source3/printing/print_cups.c b/source3/printing/print_cups.c
index 18f42138c91..7d8248e4285 100644
--- a/source3/printing/print_cups.c
+++ b/source3/printing/print_cups.c
@@ -1342,14 +1342,12 @@ static int cups_queue_get(const char *sharename,
if ((response = cupsDoRequest(http, request, "/")) == NULL) {
DEBUG(0,("Unable to get printer status for %s - %s\n", printername,
ippErrorString(cupsLastError())));
- *q = queue;
goto out;
}
if (response->request.status.status_code >= IPP_OK_CONFLICT) {
DEBUG(0,("Unable to get printer status for %s - %s\n", printername,
ippErrorString(response->request.status.status_code)));
- *q = queue;
goto out;
}
@@ -1377,13 +1375,14 @@ static int cups_queue_get(const char *sharename,
fstrcpy(status->message, msg);
}
+ out:
+
/*
* Return the job queue...
*/
*q = queue;
- out:
if (response)
ippDelete(response);