WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH][libxenapi] Fix segmentaion fault in libxenapi

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH][libxenapi] Fix segmentaion fault in libxenapi
From: Jim Fehlig <jfehlig@xxxxxxxxxx>
Date: Tue, 12 Jun 2007 15:45:52 -0600
Delivery-date: Tue, 12 Jun 2007 14:44:11 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 1.5.0.8 (X11/20060911)
When calling xen_vbd_set_mode(), libxenapi attempted to convert the enum
mode parameter to a string twice - resulting in segfault.  Removed first
conversion since conversion is taking place in marshalling/demarshalling
layer.  Fixed similar double enum conversion in other places as well.

Regards,
Jim
# HG changeset patch
# User Jim Fehlig <jfehlig@xxxxxxxxxx>
# Date 1181684273 21600
# Node ID e4e63812779c8bfc51e15dc137533f73f8e38858
# Parent  93f77a5a8437df0b34919a6987f48e84342b4a43
Fix segfault in libxenapi.

When calling xen_vbd_set_mode(), libxenapi attempted to convert enum mode
parameter to a string twice - resulting in segfault.  Removed first conversion
since conversion is taking place in marshalling/demarshalling layer.  Fixed
similar double enum conversion in other places as well.

Signed-off-by: Jim Fehlig <jfehlig@xxxxxxxxxx>

diff -r 93f77a5a8437 -r e4e63812779c tools/libxen/src/xen_vbd.c
--- a/tools/libxen/src/xen_vbd.c        Sun Jun 10 19:58:22 2007 +0100
+++ b/tools/libxen/src/xen_vbd.c        Tue Jun 12 15:37:53 2007 -0600
@@ -463,7 +463,7 @@ xen_vbd_set_mode(xen_session *session, x
             { .type = &abstract_type_string,
               .u.string_val = vbd },
             { .type = &xen_vbd_mode_abstract_type_,
-              .u.string_val = xen_vbd_mode_to_string(mode) }
+              .u.enum_val = mode }
         };
 
     xen_call_(session, "VBD.set_mode", param_values, 2, NULL, NULL);
@@ -479,7 +479,7 @@ xen_vbd_set_type(xen_session *session, x
             { .type = &abstract_type_string,
               .u.string_val = vbd },
             { .type = &xen_vbd_type_abstract_type_,
-              .u.string_val = xen_vbd_type_to_string(type) }
+              .u.enum_val = type }
         };
 
     xen_call_(session, "VBD.set_type", param_values, 2, NULL, NULL);
diff -r 93f77a5a8437 -r e4e63812779c tools/libxen/src/xen_vm.c
--- a/tools/libxen/src/xen_vm.c Sun Jun 10 19:58:22 2007 +0100
+++ b/tools/libxen/src/xen_vm.c Tue Jun 12 15:37:53 2007 -0600
@@ -1142,7 +1142,7 @@ xen_vm_set_actions_after_shutdown(xen_se
             { .type = &abstract_type_string,
               .u.string_val = vm },
             { .type = &xen_on_normal_exit_abstract_type_,
-              .u.string_val = xen_on_normal_exit_to_string(after_shutdown) }
+              .u.enum_val = after_shutdown }
         };
 
     xen_call_(session, "VM.set_actions_after_shutdown", param_values, 2, NULL, 
NULL);
@@ -1158,7 +1158,7 @@ xen_vm_set_actions_after_reboot(xen_sess
             { .type = &abstract_type_string,
               .u.string_val = vm },
             { .type = &xen_on_normal_exit_abstract_type_,
-              .u.string_val = xen_on_normal_exit_to_string(after_reboot) }
+              .u.enum_val = after_reboot }
         };
 
     xen_call_(session, "VM.set_actions_after_reboot", param_values, 2, NULL, 
NULL);
@@ -1174,7 +1174,7 @@ xen_vm_set_actions_after_crash(xen_sessi
             { .type = &abstract_type_string,
               .u.string_val = vm },
             { .type = &xen_on_crash_behaviour_abstract_type_,
-              .u.string_val = xen_on_crash_behaviour_to_string(after_crash) }
+              .u.enum_val = after_crash }
         };
 
     xen_call_(session, "VM.set_actions_after_crash", param_values, 2, NULL, 
NULL);
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH][libxenapi] Fix segmentaion fault in libxenapi, Jim Fehlig <=