fix fread buffer has no terminating null string

do not allocate memory where it is not needed

Change-Id: I8ab4f7d36173c59aa74a590581a0f7027b7d8a69
use different USB PIDs for adb and adb+ums modes

Commit ad054c684524962eae3269c1d807dc60e8bca1ec made it so that
the same VID/PID pair was used for both adb and composite adb+ums
modes, which prevents the installation of drivers in Windows so that
either mode can be supported.

This uses the original VID/PID pair (18d1/d001) for adb+ums and
uses 18d1/d002 for adb.

Change-Id: I190c821995b7fe9e8177354aec70bd02c114d122
use correct USB PID for adb and new PID for adb+ums

The previous commit assumed that the correct PID for adb+ums
was 18d1/d001. That is incorrect. That VID/PID pair is widely
used for non-composite adb function in recovery. Since there is
no "generic Android" VID/PID allocated for adb+ums, we will
"unofficially reserve" an unused one for that purpose: 18d1/d003.

Change-Id: I6ae095569186c1e854f10b803f786d8c1ae7fb93