Files
sablink-distro/sys-fs/evms/files/2.5.5/cli_query_segfault.patch
T
2009-05-19 19:43:18 +02:00

29 lines
1.2 KiB
Diff

Fix for a segfault in the CLI when doing a query -- not enough memory declared
for a handle array.
--- evms-2.5.5/ui/cli/interpreter.c 2005-06-01 10:20:32.000000000 -0500
+++ evms-2.5.5-fix/ui/cli/interpreter.c 2006-09-14 09:47:16.480084103 -0500
@@ -3326,7 +3326,8 @@
dlist_t Return_Values;
object_handle_t Object_Handle;
handle_array_t * Object_List;
- handle_array_t Tmp_Array;
+ char Tmp_Buffer[sizeof(handle_array_t) + sizeof(object_handle_t)];
+ handle_array_t * Tmp_Array = (handle_array_t *)Tmp_Buffer;
handle_object_info_t * Object_Info;
expand_handle_array_t * Expand_Points;
shrink_handle_array_t * Shrink_Points;
@@ -3477,9 +3478,9 @@
case EVMS_OBJECT:
Object_List = Object_Info->info.object.parent_objects;
if (Object_List->count == 0 && Object_Info->info.object.volume != 0) {
- Tmp_Array.count = 1;
- Tmp_Array.handle[0] = Object_Info->info.object.volume;
- Object_List = &Tmp_Array;
+ Tmp_Array->count = 1;
+ Tmp_Array->handle[0] = Object_Info->info.object.volume;
+ Object_List = Tmp_Array;
}
break;
default: