summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/libsmb/clitrans.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/source3/libsmb/clitrans.c b/source3/libsmb/clitrans.c
index e6771ac688..92c1cc99ee 100644
--- a/source3/libsmb/clitrans.c
+++ b/source3/libsmb/clitrans.c
@@ -488,6 +488,17 @@ BOOL cli_receive_nt_trans(struct cli_state *cli,
}
}
+ /*
+ * Likewise for NT_STATUS_BUFFER_TOO_SMALL
+ */
+ if (cli_is_nt_error(cli)) {
+ if (!NT_STATUS_EQUAL(cli_nt_error(cli),
+ NT_STATUS_BUFFER_TOO_SMALL)) {
+ cli_signing_trans_stop(cli);
+ return(False);
+ }
+ }
+
/* parse out the lengths */
total_data = SVAL(cli->inbuf,smb_ntr_TotalDataCount);
total_param = SVAL(cli->inbuf,smb_ntr_TotalParameterCount);