[09/14] usb-mtp: fix string length for filename when writing metadata
diff mbox series

Message ID 20190329111104.17223-10-berrange@redhat.com
State New
Headers show
  • misc set of fixes for warnings under GCC 9
Related show

Commit Message

Daniel P. Berrangé March 29, 2019, 11:10 a.m. UTC
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é <berrange@redhat.com>
 hw/usb/dev-mtp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff mbox series

diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c
index 06e376bcd2..5343449663 100644
--- a/hw/usb/dev-mtp.c
+++ b/hw/usb/dev-mtp.c
@@ -1718,7 +1718,7 @@  static void usb_mtp_write_metadata(MTPState *s, uint64_t dlen)
-    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;