udev-builtin-usb_id: avoid comparison of unsigned and ssize_t

For some reason this shows up on i686 only:
src/udev/udev-builtin-usb_id.c:192:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
udevadm: do not free node on success

A fix for ff03aed06a422.