Hi Stefan,
Stefan Lesicnik wrote:
> I am busy patching these CVE's in Ubuntu and will forward the relevant
> patches to Debian once done.
For the record I wrote that last week (and got too busy again just
afterwards):
Thanks; I had a quick look at them [the subversion revisions] and
they apply cleanly onto 1.0.2, except for changes to packet-usb.c
where trailing whitespaces are touched but they are easy enough to
remove (cleaned patch attached, note it only has changes related to
packet-usb.c while the commit also touch packet-btrfcomm.c).
You will find the modified patch to packet-usb.c attached.
Frederic
--- trunk/epan/dissectors/packet-usb.c 2008/10/02 04:45:56 26332
+++ trunk/epan/dissectors/packet-usb.c 2008/10/02 04:55:51 26333
@@ -523,10 +523,9 @@
usb_conv_info = conversation_get_proto_data(conversation, proto_usb);
if(!usb_conv_info){
/* no not yet so create some */
- usb_conv_info = se_alloc(sizeof(usb_conv_info_t));
+ usb_conv_info = se_alloc0(sizeof(usb_conv_info_t));
usb_conv_info->interfaceClass=IF_CLASS_UNKNOWN;
usb_conv_info->transactions=se_tree_create_non_persistent(EMEM_TREE_TYPE_RED_BLACK, "usb transactions");
- usb_conv_info->class_data=NULL;
conversation_add_proto_data(conversation, proto_usb, usb_conv_info);
}
@@ -785,10 +784,9 @@
/* save the class so we can access it later in the endpoint descriptor */
usb_conv_info->interfaceClass=tvb_get_guint8(tvb, offset);
if(!pinfo->fd->flags.visited){
- usb_trans_info->interface_info=se_alloc(sizeof(usb_conv_info_t));
+ usb_trans_info->interface_info=se_alloc0(sizeof(usb_conv_info_t));
usb_trans_info->interface_info->interfaceClass=tvb_get_guint8(tvb, offset);
usb_trans_info->interface_info->transactions=se_tree_create_non_persistent(EMEM_TREE_TYPE_RED_BLACK, "usb transactions");
- usb_trans_info->interface_info->class_data=NULL;
}
offset++;
@@ -1393,12 +1391,9 @@
/* this is a request */
usb_trans_info=se_tree_lookup32(usb_conv_info->transactions, pinfo->fd->num);
if(!usb_trans_info){
- usb_trans_info=se_alloc(sizeof(usb_trans_info_t));
+ usb_trans_info=se_alloc0(sizeof(usb_trans_info_t));
usb_trans_info->request_in=pinfo->fd->num;
- usb_trans_info->response_in=0;
usb_trans_info->req_time=pinfo->fd->abs_ts;
- usb_trans_info->requesttype=0;
- usb_trans_info->request=0;
se_tree_insert32(usb_conv_info->transactions, pinfo->fd->num, usb_trans_info);
}
usb_conv_info->usb_trans_info=usb_trans_info;