git.samba.org
/
ira
/
wip.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
025290e
)
s3-spoolss: add more userlevel info validation to _spoolss_OpenPrinterEx.
author
Günther Deschner
<gd@samba.org>
Mon, 11 Oct 2010 09:33:23 +0000
(11:33 +0200)
committer
Günther Deschner
<gd@samba.org>
Mon, 11 Oct 2010 14:31:06 +0000
(14:31 +0000)
Guenther
source3/rpc_server/srv_spoolss_nt.c
patch
|
blob
|
history
diff --git
a/source3/rpc_server/srv_spoolss_nt.c
b/source3/rpc_server/srv_spoolss_nt.c
index 28800135717872843b0344862cce2cece4cd3c54..3783d0fba715e7bcf7f98e7dfc532d6f626a0fad 100644
(file)
--- a/
source3/rpc_server/srv_spoolss_nt.c
+++ b/
source3/rpc_server/srv_spoolss_nt.c
@@
-1693,6
+1693,15
@@
WERROR _spoolss_OpenPrinterEx(struct pipes_struct *p,
return WERR_INVALID_PARAM;
}
+ if (r->in.level < 0 || r->in.level > 3) {
+ return WERR_INVALID_PARAM;
+ }
+ if ((r->in.level == 1 && !r->in.userlevel.level1) ||
+ (r->in.level == 2 && !r->in.userlevel.level2) ||
+ (r->in.level == 3 && !r->in.userlevel.level3)) {
+ return WERR_INVALID_PARAM;
+ }
+
/* some sanity check because you can open a printer or a print server */
/* aka: \\server\printer or \\server */