[syslinux] [PATCH 1/4 v2] com32/lib/: Avoid unneeded allocation.

Raphael S.Carvalho raphael.scarv at gmail.com
Tue Sep 17 12:42:24 PDT 2013


eparam would only be used if EBIOS is available.
If it is not, then there is no reason to allocate eparam.

Signed-off-by: Raphael S.Carvalho <raphael.scarv at gmail.com>
---
 com32/lib/syslinux/disk.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/com32/lib/syslinux/disk.c b/com32/lib/syslinux/disk.c
index 093751a..d96acbf 100644
--- a/com32/lib/syslinux/disk.c
+++ b/com32/lib/syslinux/disk.c
@@ -73,7 +73,7 @@ int disk_int13_retry(const com32sys_t * inreg, com32sys_t * outreg)
 int disk_get_params(int disk, struct disk_info *const diskinfo)
 {
     static com32sys_t inreg, outreg;
-    struct disk_ebios_eparam *eparam;
+    struct disk_ebios_eparam *eparam = NULL;
     int rv = 0;

     memset(diskinfo, 0, sizeof *diskinfo);
@@ -94,12 +94,12 @@ int disk_get_params(int disk, struct disk_info *const diskinfo)
 	diskinfo->ebios = 1;
     }

-    eparam = lmalloc(sizeof *eparam);
-    if (!eparam)
-	return -1;
-
     /* Get extended disk parameters if ebios == 1 */
     if (diskinfo->ebios) {
+	eparam = lmalloc(sizeof *eparam);
+	if (!eparam)
+	    return -1;
+
 	memset(&inreg, 0, sizeof inreg);
 	inreg.eax.b[1] = 0x48;
 	inreg.edx.b[0] = disk;
--
1.7.2.5



More information about the Syslinux mailing list