Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Jun 2009 15:07:36 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r193719 - head/sys/boot/i386/libi386
Message-ID:  <200906081507.n58F7a60032963@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhb
Date: Mon Jun  8 15:07:35 2009
New Revision: 193719
URL: http://svn.freebsd.org/changeset/base/193719

Log:
  Don't attempt to free the GPT partition list for a disk with an empty GPT.
  
  Submitted by:	Yuri Pankov  yuri.pankov of gmail
  MFC after:	3 days

Modified:
  head/sys/boot/i386/libi386/biosdisk.c

Modified: head/sys/boot/i386/libi386/biosdisk.c
==============================================================================
--- head/sys/boot/i386/libi386/biosdisk.c	Mon Jun  8 15:02:30 2009	(r193718)
+++ head/sys/boot/i386/libi386/biosdisk.c	Mon Jun  8 15:07:35 2009	(r193719)
@@ -990,7 +990,8 @@ bd_open_gpt(struct open_disk *od, struct
 
 out:
     if (error) {
-	free(od->od_partitions);
+	if (od->od_nparts > 0)
+	    free(od->od_partitions);
 	od->od_flags &= ~BD_GPTOK;
     }
     return (error);
@@ -1044,7 +1045,7 @@ bd_closedisk(struct open_disk *od)
 	delay(3000000);
 #endif
 #ifdef LOADER_GPT_SUPPORT
-    if (od->od_flags & BD_GPTOK)
+    if (od->od_flags & BD_GPTOK && od->od_nparts > 0)
 	free(od->od_partitions);
 #endif
     free(od);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906081507.n58F7a60032963>