git.samba.org
/
sfrench
/
samba-autobuild
/
.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
dea64a0
)
Fix a crash bug in nt_printer_publish_ads
author
Volker Lendecke
<vl@samba.org>
Wed, 16 Jan 2008 10:39:20 +0000
(11:39 +0100)
committer
Volker Lendecke
<vl@samba.org>
Wed, 16 Jan 2008 10:39:20 +0000
(11:39 +0100)
Reported by Martin Zielinski <mz@seh.de>
source/printing/nt_printing.c
patch
|
blob
|
history
diff --git
a/source/printing/nt_printing.c
b/source/printing/nt_printing.c
index bba55c0e4ac8a252475ebbd84c296c33ecd2119a..d5803b711bd0366813ae0a5ea2a5db8eba348699 100644
(file)
--- a/
source/printing/nt_printing.c
+++ b/
source/printing/nt_printing.c
@@
-3315,8
+3315,13
@@
static WERROR nt_printer_publish_ads(ADS_STRUCT *ads,
/* publish it */
ads_rc = ads_mod_printer_entry(ads, prt_dn, ctx, &mods);
- if (ads_rc.err.rc == LDAP_NO_SUCH_OBJECT)
+ if (ads_rc.err.rc == LDAP_NO_SUCH_OBJECT) {
+ int i;
+ for (i=0; mods[i] != 0; i++)
+ ;
+ mods[i] = (LDAPMod *)-1;
ads_rc = ads_add_printer_entry(ads, prt_dn, ctx, &mods);
+ }
if (!ADS_ERR_OK(ads_rc))
DEBUG(3, ("error publishing %s: %s\n", printer->info_2->sharename, ads_errstr(ads_rc)));