From 99fff91f9d095f103e4e3fabf97117eaf133ec9f Mon Sep 17 00:00:00 2001 From: Petter Reinholdtsen Date: Sat, 11 Jan 2014 07:22:46 +0000 Subject: [PATCH] Make sure blockId buffer is never overflown (Coverity CID 1149058). --- ipmitool/lib/ipmi_fru.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ipmitool/lib/ipmi_fru.c b/ipmitool/lib/ipmi_fru.c index 316436f..09d5abe 100644 --- a/ipmitool/lib/ipmi_fru.c +++ b/ipmitool/lib/ipmi_fru.c @@ -311,7 +311,10 @@ build_fru_bloc(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id) p_new->next = NULL; p_new->start = header.offsets[i] * 8; p_new->size = fru->size - p_new->start; - strcpy((char *)p_new->blocId, section_id[i]); + + strncpy((char *)p_new->blocId, section_id[i], sizeof(p_new->blocId)); + /* Make sure string is null terminated */ + p_new->blocId[sizeof(p_new->blocId)-1] = 0; p_bloc->next = p_new; p_bloc->size = p_new->start - p_bloc->start;