Author: jra
Date: 2005-08-11 20:44:18 +0000 (Thu, 11 Aug 2005)
New Revision: 9244

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=9244

Log:
Fix bugs found by Coverity.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/printing/printing.c


Changeset:
Modified: branches/SAMBA_3_0/source/printing/printing.c
===================================================================
--- branches/SAMBA_3_0/source/printing/printing.c       2005-08-11 19:46:19 UTC 
(rev 9243)
+++ branches/SAMBA_3_0/source/printing/printing.c       2005-08-11 20:44:18 UTC 
(rev 9244)
@@ -399,8 +399,10 @@
                if (!lp_print_ok(snum))
                        continue;
                pdb = get_print_db_byname(lp_const_servicename(snum));
-               if (pdb)
-                       tdb_traverse(pdb->tdb, unixjob_traverse_fn, 
&unix_jobid);
+               if (!pdb) {
+                       continue;
+               }
+               tdb_traverse(pdb->tdb, unixjob_traverse_fn, &unix_jobid);
                release_print_db(pdb);
                if (sysjob_to_jobid_value != (uint32)-1)
                        return sysjob_to_jobid_value;
@@ -1067,6 +1069,10 @@
        TDB_DATA jcdata;
        fstring keystr, cachestr;
        struct tdb_print_db *pdb = get_print_db_byname(sharename);
+
+       if (!pdb) {
+               return;
+       }
        
        DEBUG(5,("print_queue_update_internal: printer = %s, type = %d, lpq 
command = [%s]\n",
                sharename, current_printif->type, lpq_command));
@@ -1426,6 +1432,11 @@
           sent.  */
 
        pdb = get_print_db_byname(sharename);
+       if (!pdb) {
+               SAFE_FREE(buffer);
+               return;
+       }
+
        snprintf(key, sizeof(key), "MSG_PENDING/%s", sharename);
 
        if ( !tdb_store_uint32( pdb->tdb, key, time(NULL) ) ) {
@@ -1731,6 +1742,10 @@
        BOOL ret = False;
        BOOL gotlock = False;
 
+       if (!pdb) {
+               return False;
+       }
+
        ZERO_STRUCT(data);
 
        key = string_tdb_data("INFO/jobs_changed");
@@ -2057,11 +2072,14 @@
        struct tdb_print_db *pdb = get_print_db_byname(sharename);
        int len;
 
+       if (status) {
+               ZERO_STRUCTP(status);
+       }
+
        if (!pdb)
                return 0;
 
        if (status) {
-               ZERO_STRUCTP(status);
                fstr_sprintf(keystr, "STATUS/%s", sharename);
                data = tdb_fetch(pdb->tdb, string_tdb_data(keystr));
                if (data.dptr) {

Reply via email to