diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2014-08-15 10:22:30 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2014-08-15 12:29:16 +0200 |
commit | 19433dca008c6ab93b31866a620ab3feef946628 (patch) | |
tree | 7f63d6053f31c757b0762fb6d5a404a6af4a6c89 /src/messages.c | |
parent | 6961dd79ad22b55a8dfc77dd829a3d207077952f (diff) | |
download | libssh-19433dca008c6ab93b31866a620ab3feef946628.tar.gz libssh-19433dca008c6ab93b31866a620ab3feef946628.tar.xz libssh-19433dca008c6ab93b31866a620ab3feef946628.zip |
messages: Check return value of ssh_buffer_unpack().
CID: 1230356
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Reviewed-by: Aris Adamantiadis <aris@0xbadc0de.be>
Diffstat (limited to 'src/messages.c')
-rw-r--r-- | src/messages.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/messages.c b/src/messages.c index 4216cb51..5a6963e8 100644 --- a/src/messages.c +++ b/src/messages.c @@ -860,6 +860,7 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_info_response){ uint32_t nanswers; uint32_t i; ssh_string tmp; + int rc; ssh_message msg = NULL; @@ -887,7 +888,11 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_info_response){ msg->auth_request.username = NULL; #endif - ssh_buffer_unpack(packet, "d", &nanswers); + rc = ssh_buffer_unpack(packet, "d", &nanswers); + if (rc != SSH_OK) { + ssh_set_error_invalid(session); + goto error; + } if (session->kbdint == NULL) { SSH_LOG(SSH_LOG_PROTOCOL, "Warning: Got a keyboard-interactive " |