summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2004-10-13 19:40:22 +0000
committerGerald Carter <jerry@samba.org>2004-10-13 19:40:22 +0000
commitee20ef73e3e48aae3257d3471def3d80f013d90a (patch)
tree5ae12ab0e463912f81b53a5800bda77622864abc /source
parent81daefb41775cd8ab50bba6fd5926f3ecbbb1e32 (diff)
downloadsamba-ee20ef73e3e48aae3257d3471def3d80f013d90a.tar.gz
samba-ee20ef73e3e48aae3257d3471def3d80f013d90a.tar.xz
samba-ee20ef73e3e48aae3257d3471def3d80f013d90a.zip
r2955: fixing a segfault uncovered by the changes for BUG 1519
Diffstat (limited to 'source')
-rwxr-xr-xsource/include/rpc_spoolss.h1
-rw-r--r--source/printing/nt_printing.c8
-rw-r--r--source/rpc_server/srv_spoolss_nt.c3
3 files changed, 8 insertions, 4 deletions
diff --git a/source/include/rpc_spoolss.h b/source/include/rpc_spoolss.h
index f2b78f91bc0..7c5942759f4 100755
--- a/source/include/rpc_spoolss.h
+++ b/source/include/rpc_spoolss.h
@@ -206,6 +206,7 @@
#define PRINTER_NOTIFY_TYPE 0x00
#define JOB_NOTIFY_TYPE 0x01
+#define PRINT_TABLE_END 0xFF
#define MAX_PRINTER_NOTIFY 26
#define MAX_JOB_NOTIFY 24
diff --git a/source/printing/nt_printing.c b/source/printing/nt_printing.c
index 81d792463a5..6474516ebcd 100644
--- a/source/printing/nt_printing.c
+++ b/source/printing/nt_printing.c
@@ -380,9 +380,11 @@ BOOL nt_printing_init(void)
msgs. This is done in claim_connection() */
- win_rc = check_published_printers();
- if (!W_ERROR_IS_OK(win_rc))
- DEBUG(0, ("nt_printing_init: error checking published printers: %s\n", dos_errstr(win_rc)));
+ if ( lp_security() == SEC_ADS ) {
+ win_rc = check_published_printers();
+ if (!W_ERROR_IS_OK(win_rc))
+ DEBUG(0, ("nt_printing_init: error checking published printers: %s\n", dos_errstr(win_rc)));
+ }
return True;
}
diff --git a/source/rpc_server/srv_spoolss_nt.c b/source/rpc_server/srv_spoolss_nt.c
index a1db4c38548..c882cea59b0 100644
--- a/source/rpc_server/srv_spoolss_nt.c
+++ b/source/rpc_server/srv_spoolss_nt.c
@@ -3506,6 +3506,7 @@ static const struct s_notify_info_data_table notify_info_data_table[] =
{ JOB_NOTIFY_TYPE, JOB_NOTIFY_TOTAL_PAGES, "JOB_NOTIFY_TOTAL_PAGES", NOTIFY_ONE_VALUE, spoolss_notify_total_pages },
{ JOB_NOTIFY_TYPE, JOB_NOTIFY_PAGES_PRINTED, "JOB_NOTIFY_PAGES_PRINTED", NOTIFY_ONE_VALUE, spoolss_notify_pages_printed },
{ JOB_NOTIFY_TYPE, JOB_NOTIFY_TOTAL_BYTES, "JOB_NOTIFY_TOTAL_BYTES", NOTIFY_ONE_VALUE, spoolss_notify_job_size },
+{ PRINT_TABLE_END, 0x0, NULL, 0x0, NULL },
};
/*******************************************************************
@@ -3571,7 +3572,7 @@ static int search_notify(uint16 type, uint16 field, int *value)
{
int i;
- for (i = 0; i < sizeof(notify_info_data_table); i++) {
+ for (i = 0; notify_info_data_table[i].type != PRINT_TABLE_END; i++) {
if (notify_info_data_table[i].type == type &&
notify_info_data_table[i].field == field &&
notify_info_data_table[i].fn != NULL) {