diff options
author | Marcus Meissner <meissner@suse.de> | 2023-03-20 10:02:10 +0100 |
---|---|---|
committer | Marcus Meissner <meissner@suse.de> | 2023-03-20 10:02:10 +0100 |
commit | 1023cf7d1665d65b079d9898103ad31f3dd1d525 (patch) | |
tree | 5576d489779d5633a8308d1a17b1e3b9ae141e6e | |
parent | cac90d8e10f752932bbe39242faacb1810c4f326 (diff) | |
download | libmtp-1023cf7d1665d65b079d9898103ad31f3dd1d525.tar.gz |
merge from chromium fork
avoid conversion of string longer than we can converse
https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/third_party/chromiumos-overlay/media-libs/libmtp/files/libmtp-1.1.20-24_update_ptp_ucs2str_reader.patch
-rw-r--r-- | src/ptp-pack.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/ptp-pack.c b/src/ptp-pack.c index 381326f..8e8aa29 100644 --- a/src/ptp-pack.c +++ b/src/ptp-pack.c @@ -213,6 +213,9 @@ ptp_pack_string(PTPParams *params, char *string, unsigned char* data, uint16_t o char *ucs2strp = (char *) ucs2str; size_t convlen = strlen(string); + if (convlen > PTP_MAXSTRLEN) { + convlen = PTP_MAXSTRLEN; + } /* Cannot exceed 255 (PTP_MAXSTRLEN) since it is a single byte, duh ... */ memset(ucs2strp, 0, sizeof(ucs2str)); /* XXX: necessary? */ #if defined(HAVE_ICONV) && defined(HAVE_LANGINFO_H) |