summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/smbd/smb2_ioctl.c5
-rw-r--r--source3/smbd/smb2_read.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/source3/smbd/smb2_ioctl.c b/source3/smbd/smb2_ioctl.c
index bce02b0a3a..abb1905ba0 100644
--- a/source3/smbd/smb2_ioctl.c
+++ b/source3/smbd/smb2_ioctl.c
@@ -590,6 +590,11 @@ static void smbd_smb2_ioctl_pipe_read_done(struct tevent_req *subreq)
state->out_output.length = nread;
+ if (is_data_outstanding) {
+ tevent_req_nterror(req, STATUS_BUFFER_OVERFLOW);
+ return;
+ }
+
tevent_req_done(req);
}
diff --git a/source3/smbd/smb2_read.c b/source3/smbd/smb2_read.c
index 6e686ef273..996f8d46ae 100644
--- a/source3/smbd/smb2_read.c
+++ b/source3/smbd/smb2_read.c
@@ -575,6 +575,11 @@ static void smbd_smb2_read_pipe_done(struct tevent_req *subreq)
state->out_data.length = nread;
state->out_remaining = 0;
+ /*
+ * TODO: add STATUS_BUFFER_OVERFLOW handling, once we also
+ * handle it in SMB1 pipe_read_andx_done().
+ */
+
tevent_req_done(req);
}