Author: jra Date: 2005-08-11 20:44:21 +0000 (Thu, 11 Aug 2005) New Revision: 9245
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=9245 Log: Fix bugs found by Coverity. Jeremy. Modified: trunk/source/printing/printing.c Changeset: Modified: trunk/source/printing/printing.c =================================================================== --- trunk/source/printing/printing.c 2005-08-11 20:44:18 UTC (rev 9244) +++ trunk/source/printing/printing.c 2005-08-11 20:44:21 UTC (rev 9245) @@ -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) {
