Fix bug 7297 - smbd crashes with CUPS printers and no [printers] share defined.
authorJeremy Allison <jra@samba.org>
Fri, 26 Mar 2010 00:09:23 +0000 (17:09 -0700)
committerKarolin Seeger <kseeger@samba.org>
Mon, 29 Mar 2010 07:41:06 +0000 (09:41 +0200)
Ensure we don't dereference an array with an index of -1.

Jeremy.
(cherry picked from commit e4127ab299e654777c43d983b2e0a158baa7d79a)

source3/smbd/service.c

index 572861a08467b88b1f950c321d94238dfb3a38e3..25e0eb10f8e6dd77bc925e5643167f53f853db72 100644 (file)
@@ -339,7 +339,7 @@ int find_service(fstring service)
                if ((iPrinterService = lp_servicenumber(PRINTERS_NAME)) < 0) {
                        iPrinterService = load_registry_service(PRINTERS_NAME);
                }
-               if (iPrinterService) {
+               if (iPrinterService >= 0) {
                        DEBUG(3,("checking whether %s is a valid printer name...\n", service));
                        if (pcap_printername_ok(service)) {
                                DEBUG(3,("%s is a valid printer name\n", service));