From: Reverend H. <mk....@gm...> - 2018-11-29 13:15:04
|
[src/libmtp.c:4002]: (error) Common realloc mistake: 'localtypes' nulled but not freed upon failure [src/libmtp.c:4009]: (error) Common realloc mistake: 'localtypes' nulled but not freed upon failure --- src/libmtp.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/libmtp.c b/src/libmtp.c index 23bb3d2..65db571 100644 --- a/src/libmtp.c +++ b/src/libmtp.c @@ -3999,15 +3999,21 @@ int LIBMTP_Get_Supported_Filetypes(LIBMTP_mtpdevice_t *device, uint16_t ** const } // The forgotten Ogg support on YP-10 and others... if (FLAG_OGG_IS_UNKNOWN(ptp_usb)) { - localtypes = (uint16_t *) realloc(localtypes, - (params->deviceinfo.ImageFormats_len+1) * sizeof(uint16_t)); + uint16_t *tmp = (uint16_t *) realloc( + localtypes, (params->deviceinfo.ImageFormats_len+1) * sizeof(uint16_t)); + if (tmp == NULL) + return -ENOMEM; + localtypes = tmp; localtypes[localtypelen] = LIBMTP_FILETYPE_OGG; localtypelen++; } // The forgotten FLAC support on Cowon iAudio S9 and others... if (FLAG_FLAC_IS_UNKNOWN(ptp_usb)) { - localtypes = (uint16_t *) realloc(localtypes, - (params->deviceinfo.ImageFormats_len+1) * sizeof(uint16_t)); + uint16_t *tmp = (uint16_t *) realloc( + localtypes, (params->deviceinfo.ImageFormats_len+1) * sizeof(uint16_t)); + if (tmp == NULL) + return -ENOMEM; + localtypes = tmp; localtypes[localtypelen] = LIBMTP_FILETYPE_FLAC; localtypelen++; } -- 2.19.2 |