Every time the get_proto_filename() is called, a new instance
of std::string is allocated for the first argument. When the
function returns, this instance gets deallocated. Therefore,
the returned user_filename.c_str() points to free()d memory.
Change-Id: Ib0007e9aebd9e77c28531c1ec70c61f1723a2d0d
Fixes: CID#240724
This fixes a bug from "Applied libusb-1.0 patch set from Thomas
Tsou <ttsou@vt.edu>" b5aa407ec2b1bdebc1c950a9428789fe50327776
The bus rescan after firmware load was stomped with the addition of
libusb-1.0 support causing the subsequent device open to fail.
libusb-1.0 doesn't (appear to) require the bus to be explicity
rescanned. The rescan is added back for libusb-0.1. For libusb-1.0
the rescan nops.