Skip to content

Commit fa648ec

Browse files
authored
Merge pull request #864 from JacobBarthelmeh/windows_sshd
2 parents af1dac9 + 9097542 commit fa648ec

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/internal.c

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1096,16 +1096,22 @@ static int WS_TermResize(WOLFSSH* ssh, word32 col, word32 row, word32 colP,
10961096
int ret = WS_SUCCESS;
10971097

10981098
if (term != NULL) {
1099-
char cmd[20];
1100-
int cmdSz = 20;
1099+
char cmd[30]; /* 2 int values (11 chars max) plus \x1b[8 ; t */
1100+
int cmdSz;
11011101
DWORD wrtn = 0;
11021102

1103+
cmdSz = (int)sizeof(cmd);
11031104
/* VT control sequence for resizing window */
11041105
cmdSz = snprintf(cmd, cmdSz, "\x1b[8;%d;%dt", row, col);
1105-
if (WriteFile(*term, cmd, cmdSz, &wrtn, 0) != TRUE) {
1106-
WLOG(WS_LOG_ERROR, "Issue with pseudo console resize");
1106+
if (cmdSz < 0 || cmdSz >= sizeof(cmd)) {
11071107
ret = WS_FATAL_ERROR;
11081108
}
1109+
else {
1110+
if (WriteFile(*term, cmd, cmdSz, &wrtn, 0) != TRUE) {
1111+
WLOG(WS_LOG_ERROR, "Issue with pseudo console resize");
1112+
ret = WS_FATAL_ERROR;
1113+
}
1114+
}
11091115
}
11101116

11111117
return ret;

0 commit comments

Comments
 (0)