From a203644728767f63b0ba80d052849c8a0add3f91 Mon Sep 17 00:00:00 2001 From: Dmitry Rakhchev Date: Wed, 8 Jun 2016 11:21:52 +0300 Subject: [PATCH] ID:447 - Fix access beyond array limits in serial_terminal --- src/plugins/serial/serial_terminal.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/plugins/serial/serial_terminal.c b/src/plugins/serial/serial_terminal.c index 0015807..4459f64 100644 --- a/src/plugins/serial/serial_terminal.c +++ b/src/plugins/serial/serial_terminal.c @@ -373,8 +373,9 @@ recv_response(struct ipmi_intf * intf, unsigned char *data, int len) } p += rv; resp_len += rv; - if (*(p - 2) == ']' && (*(p - 1) == '\n' || *(p - 1) == '\r')) { - *p = 0; + if (resp_len >= 2 && *(p - 2) == ']' + && (*(p - 1) == '\n' || *(p - 1) == '\r')) { + *(p - 1) = 0; /* overwrite EOL */ break; } }