[IBAL\IOU] set the iou chassis from the system GUID
authorsleybo <sleybo@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Thu, 8 Mar 2007 14:38:54 +0000 (14:38 +0000)
committersleybo <sleybo@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Thu, 8 Mar 2007 14:38:54 +0000 (14:38 +0000)
fix pool corruption  in query_location

git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@615 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

core/al/kernel/al_ioc_pnp.c
core/iou/kernel/iou_ioc_mgr.c

index d45dc2d..161d4f3 100644 (file)
@@ -883,6 +883,7 @@ __get_iou(
 \r
        p_iou->ca_guid = ca_guid;\r
        p_iou->guid = p_node_rec->node_info.node_guid;\r
+       p_iou->chassis_guid = p_node_rec->node_info.sys_guid;\r
        p_iou->vend_id = ib_node_info_get_vendor_id( &p_node_rec->node_info );\r
        p_iou->dev_id = p_node_rec->node_info.device_id;\r
        p_iou->revision = p_node_rec->node_info.revision;\r
index 8a78be9..eb31364 100644 (file)
@@ -1142,7 +1142,9 @@ ioc_query_location(
                return STATUS_NO_SUCH_DEVICE;\r
        }\r
 \r
-       p_string = ExAllocatePool( PagedPool, IOC_LOCATION_SIZE );\r
+       p_string = ExAllocatePool( PagedPool, \r
+               max( IOC_LOCATION_SIZE,\r
+               sizeof( WCHAR ) * ( sizeof( p_ext->info.profile.id_string ) + 1 )));\r
        if( !p_string )\r
        {\r
                IOU_PRINT_EXIT( TRACE_LEVEL_ERROR, IOU_DBG_ERROR,\r