aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cryptomilk.org>2014-08-15 10:22:30 +0200
committerAndreas Schneider <asn@cryptomilk.org>2014-08-15 12:29:16 +0200
commit19433dca008c6ab93b31866a620ab3feef946628 (patch)
tree7f63d6053f31c757b0762fb6d5a404a6af4a6c89
parent6961dd79ad22b55a8dfc77dd829a3d207077952f (diff)
downloadlibssh-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>
-rw-r--r--src/messages.c7
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 "