From ba305c222256dcec6d94b3fb803e15d6ef83cc3e Mon Sep 17 00:00:00 2001 From: Erwan Velu Date: Fri, 15 Apr 2011 21:26:52 +0200 Subject: [PATCH] hdt: Fixing buffer corruption in PXE menu Jim Cromie reported that PXE menu behave like : gPXE Detected: ]No This commit avoid this buffer corruption. --- com32/hdt/hdt-menu-pxe.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/com32/hdt/hdt-menu-pxe.c b/com32/hdt/hdt-menu-pxe.c index 426bfe0..12d8b11 100644 --- a/com32/hdt/hdt-menu-pxe.c +++ b/com32/hdt/hdt-menu-pxe.c @@ -34,7 +34,7 @@ void compute_PXE(struct s_my_menu *menu, struct s_hardware *hardware) { char buffer[SUBMENULEN + 1]; char infobar[STATLEN + 1]; - char gpxe[4]; + char gpxe[4]={0}; if (hardware->is_pxe_valid == false) return; @@ -113,8 +113,8 @@ void compute_PXE(struct s_my_menu *menu, struct s_hardware *hardware) add_item(buffer, infobar, OPT_INACTIVE, NULL, 0); menu->items_count++; - if (is_gpxe()) strcat(gpxe,"Yes"); - else strcat (gpxe,"No"); + if (is_gpxe()) snprintf(gpxe,sizeof(gpxe),"%s","Yes"); + else snprintf (gpxe, sizeof(gpxe), "%s", "No"); snprintf(buffer, sizeof buffer, "gPXE Detected: %s", gpxe); snprintf(infobar, sizeof infobar, "gPXE Detected: %s", gpxe); -- 2.7.4