hdt: Fixing memory corruption in kernel>show
authorErwan Velu <erwan.velu@free.fr>
Wed, 2 Dec 2009 21:31:18 +0000 (22:31 +0100)
committerErwan Velu <erwan.velu@free.fr>
Fri, 4 Dec 2009 15:26:27 +0000 (16:26 +0100)
Impact: Fixing memory corruption

Fixing memory corruption which occurs during kernel>show
This patch makes the init cleaner.

com32/hdt/hdt-cli-kernel.c

index c97c6a7..d4946f3 100644 (file)
 void main_show_kernel(int argc __unused, char **argv __unused,
                      struct s_hardware *hardware)
 {
-    char buffer[1024];
+    char buffer[1024] = {0};
     struct pci_device *pci_device;
     bool found = false;
     char kernel_modules[LINUX_KERNEL_MODULE_SIZE *
                        MAX_KERNEL_MODULES_PER_PCI_DEVICE];
 
-    memset(buffer, 0, sizeof(buffer));
-
     detect_pci(hardware);
     reset_more_printf();
     more_printf("Kernel modules\n");
@@ -97,11 +95,10 @@ static void show_kernel_modules(int argc __unused, char **argv __unused,
                        MAX_KERNEL_MODULES_PER_PCI_DEVICE];
     bool nopciids = false;
     bool nomodulespcimap = false;
-    char modules[MAX_PCI_CLASSES][256];
-    char category_name[MAX_PCI_CLASSES][256];
+    char modules[MAX_PCI_CLASSES][256] = {{0}};
+    char category_name[MAX_PCI_CLASSES][256] = {{0}};
 
     detect_pci(hardware);
-    memset(&modules, 0, sizeof(modules));
 
     if (hardware->pci_ids_return_code == -ENOPCIIDS) {
        nopciids = true;