Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=fwlive.git;a=commitdiff;h=f18dd93384c884f0e03d50f5df2f1ac27d8cf51d

commit f18dd93384c884f0e03d50f5df2f1ac27d8cf51d
Author: James Buren <r...@frugalware.org>
Date:   Mon Feb 18 15:15:15 2013 -0600

fix segfault when deleting last partition and none remain

diff --git a/new/src/ui_newt.c b/new/src/ui_newt.c
index 2f0611b..5755aca 100644
--- a/new/src/ui_newt.c
+++ b/new/src/ui_newt.c
@@ -1141,13 +1141,16 @@ extern bool ui_window_partition(struct device 
**devices,struct disk **disks)
}

disk_delete_partition(disk);
-
-        if(strcmp(disk_partition_get_purpose(disk,--partition),"extended") != 
0)
-          snprintf(text,NEWT_WIDTH+1,"delete last partition");
-        else
-          snprintf(text,NEWT_WIDTH+1,"delete extended partition");

-        newtListboxInsertEntry(listbox,text,(void *) key.data,(void *) 
action.data);
+        if(partition > 0)
+        {
+          if(strcmp(disk_partition_get_purpose(disk,partition-1),"extended") 
!= 0)
+            snprintf(text,NEWT_WIDTH+1,"delete last partition");
+          else
+            snprintf(text,NEWT_WIDTH+1,"delete extended partition");
+
+          newtListboxInsertEntry(listbox,text,(void *) key.data,(void *) 
action.data);
+        }

key.delete = false;
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to