On Mon, Mar 28, 2011 at 06:48:11PM +0100, Steven Hardy wrote: > On Mon, Mar 28, 2011 at 01:34:24PM -0400, Aristeu Rozanski wrote: > > > + usb_set_serial_data(serial, data); > > > return retval; > > > } > > when there's a -ENODEV, kfree() is called but the now invalid address is > > set by usb_set_serial_data() anyway. am I missing something here? > > The intention here is that since data should be NULL after the kfree, we're simply setting serial->private to NULL. kfree(data) won't make data == NULL. it'll free whatever address data has. data will still have the same (now stale) address. you need to explicitely make data = NULL if you want that behavior. -- Aristeu -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html