summaryrefslogtreecommitdiff
path: root/source3/rpc_parse/parse_spoolss.c
diff options
context:
space:
mode:
authorJean-François Micouleau <jfm@samba.org>2000-07-12 14:10:40 +0000
committerJean-François Micouleau <jfm@samba.org>2000-07-12 14:10:40 +0000
commit5813ecff99431c3529cd45f3b579ef16e72a46f0 (patch)
tree0b7f5e6685894a48d15b743c2247f96ce4850830 /source3/rpc_parse/parse_spoolss.c
parent8edb4966aeb8a8df6e5e348085450b6686bdc879 (diff)
downloadsamba-5813ecff99431c3529cd45f3b579ef16e72a46f0.tar.gz
samba-5813ecff99431c3529cd45f3b579ef16e72a46f0.tar.bz2
samba-5813ecff99431c3529cd45f3b579ef16e72a46f0.zip
- The printers are indexed by the sharename in both get_a_printer() and
add_a_printer() now. - correctly unpack the private part of a devmode and remove a memleak - correctly retrieve the pair(value,data) for getprinterdata - handle null devicemode in printer_info_2 I still have some bugs but I'm not crashing anymore NT4SP6 d/c build :-) J.F. (This used to be commit 493f7d11acf753ba24c88e6cbb73d86a8595a66a)
Diffstat (limited to 'source3/rpc_parse/parse_spoolss.c')
-rw-r--r--source3/rpc_parse/parse_spoolss.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/source3/rpc_parse/parse_spoolss.c b/source3/rpc_parse/parse_spoolss.c
index 470e25e032..74a93b5776 100644
--- a/source3/rpc_parse/parse_spoolss.c
+++ b/source3/rpc_parse/parse_spoolss.c
@@ -1575,6 +1575,15 @@ static BOOL new_smb_io_reldevmode(char *desc, NEW_BUFFER *buffer, int depth, DEV
uint32 struct_offset = prs_offset(ps);
uint32 relative_offset;
+ if (*devmode == NULL) {
+ relative_offset=0;
+ if (!prs_uint32("offset", ps, depth, &relative_offset))
+ return False;
+ DEBUG(8, ("boing, the devmode was NULL\n"));
+
+ return True;
+ }
+
buffer->string_at_end -= ((*devmode)->size + (*devmode)->driverextra);
if(!prs_set_offset(ps, buffer->string_at_end))