From: Daniel P. Berrangé Date: Mon, 15 Apr 2019 15:45:01 +0000 (+0100) Subject: usb-mtp: fix string length for filename when writing metadata X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=3541cd48f32233dd0c0766a3f342e3fd64b04381;p=qemu.git usb-mtp: fix string length for filename when writing metadata The ObjectInfo 'length' field provides the length of the wide character string filename. This is then converted to a multi-byte character string. This may have a different byte count to the wide character string. We should use the C string length of the multi-byte string instead. Signed-off-by: Daniel P. Berrangé Message-id: 20190415154503.6758-2-berrange@redhat.com Signed-off-by: Gerd Hoffmann --- diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c index 99548b012d..6b7d1296e4 100644 --- a/hw/usb/dev-mtp.c +++ b/hw/usb/dev-mtp.c @@ -1721,7 +1721,7 @@ static void usb_mtp_write_metadata(MTPState *s, uint64_t dlen) return; } - o = usb_mtp_object_lookup_name(p, filename, dataset->length); + o = usb_mtp_object_lookup_name(p, filename, -1); if (o != NULL) { next_handle = o->handle; }