Le 14/04/2009 10:08, Sasha Khapyorsky a écrit :
  /***************************************************
@@ -553,6 +554,9 @@ static ftree_sw_t *sw_create(IN ftree_fabric_t * p_ftree,

        /* initialize lft buffer */
        memset(p_osm_sw->new_lft, OSM_NO_PATH, IB_LID_UCAST_END_HO + 1);
+       p_sw->hops =
+           malloc(cl_ntoh16(p_osm_sw->max_lid_ho) * sizeof(*(p_sw->hops)));
+       memset(p_sw->hops, OSM_NO_PATH, cl_ntoh16(p_osm_sw->max_lid_ho));

AFAIR p_osm_sw->max_lid_ho is already in host byte order and cl_ntoh16()
should swap bytes, how then did it work?

This is actually a bug. In my tests it seemed I always hat network order value 
> host order value so it worked.
I'm fixing this.

Also malloc() may fail and return value check is needed.
I'll had this too.

Anyway I have to rewrite few things due to the last patch from Yevgeny which 
changes usage with network/host order.

Nicolas
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to