usb: core: Fix potential memory leak adding dyn USBdevice IDs
Fix a memory leak in the usb_store_new_id() error paths. When bailing out
due to sanity checks, the function left the already allocated usb_dynid
struct in place. This regression was introduced by the following commits:
200ce2b6 (usb: core: add sanity checks when using bInterfaceClass with new_id)
ab4ffa46 (usb: core: check for valid id_table when using the RefId feature)
b96e4386 (usb: core: bail out if user gives an unknown RefId when using new_id)
Detected by Coverity: CID
1162604.
Signed-off-by: Christian Engelmayer <cengelma@gmx.at>
Acked-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>