summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/smbd/files.c2
-rw-r--r--source3/smbd/nttrans.c3
2 files changed, 5 insertions, 0 deletions
diff --git a/source3/smbd/files.c b/source3/smbd/files.c
index 1fe6f250e5..80544c9a30 100644
--- a/source3/smbd/files.c
+++ b/source3/smbd/files.c
@@ -405,6 +405,8 @@ files_struct *file_fsp(char *buf, int where)
if (chain_fsp)
return chain_fsp;
+ if (!buf)
+ return NULL;
fnum = SVAL(buf, where);
for (fsp=Files;fsp;fsp=fsp->next, count++) {
diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c
index f8bd3ae15f..1c50744947 100644
--- a/source3/smbd/nttrans.c
+++ b/source3/smbd/nttrans.c
@@ -1472,6 +1472,9 @@ static int call_nt_transact_notify_change(connection_struct *conn, char *inbuf,
files_struct *fsp;
uint32 flags;
+ if(setup_count < 6)
+ return ERROR_DOS(ERRDOS,ERRbadfunc);
+
fsp = file_fsp(setup,4);
flags = IVAL(setup, 0);