mirror of
https://github.com/samba-team/samba.git
synced 2025-01-21 18:04:06 +03:00
CVE-2018-1050: s3: RPC: spoolss server. Protect against null pointer derefs.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11343 Signed-off-by: Jeremy Allison <jra@samba.org>
This commit is contained in:
parent
ae55cfefd7
commit
53651412c1
@ -182,6 +182,11 @@ static void prune_printername_cache(void);
|
||||
static const char *canon_servername(const char *servername)
|
||||
{
|
||||
const char *pservername = servername;
|
||||
|
||||
if (servername == NULL) {
|
||||
return "";
|
||||
}
|
||||
|
||||
while (*pservername == '\\') {
|
||||
pservername++;
|
||||
}
|
||||
@ -2082,6 +2087,10 @@ WERROR _spoolss_DeletePrinterDriver(struct pipes_struct *p,
|
||||
return WERR_ACCESS_DENIED;
|
||||
}
|
||||
|
||||
if (r->in.architecture == NULL || r->in.driver == NULL) {
|
||||
return WERR_INVALID_ENVIRONMENT;
|
||||
}
|
||||
|
||||
/* check that we have a valid driver name first */
|
||||
|
||||
if ((version = get_version_id(r->in.architecture)) == -1) {
|
||||
@ -2221,6 +2230,10 @@ WERROR _spoolss_DeletePrinterDriverEx(struct pipes_struct *p,
|
||||
return WERR_ACCESS_DENIED;
|
||||
}
|
||||
|
||||
if (r->in.architecture == NULL || r->in.driver == NULL) {
|
||||
return WERR_INVALID_ENVIRONMENT;
|
||||
}
|
||||
|
||||
/* check that we have a valid driver name first */
|
||||
if (get_version_id(r->in.architecture) == -1) {
|
||||
/* this is what NT returns */
|
||||
|
Loading…
x
Reference in New Issue
Block a user