Hi, On Wed, Apr 27, 2011 at 2:18 PM, Justin Ruggles <[email protected]> wrote: > On 04/27/2011 02:03 PM, Måns Rullgård wrote: > >> Justin Ruggles <[email protected]> writes: >> >>> On 04/27/2011 01:46 PM, Diego Biurrun wrote: >>> >>>> --- >>>> libavcodec/vorbisdec.c | 6 +++--- >>>> 1 files changed, 3 insertions(+), 3 deletions(-) >>>> >>>> diff --git a/libavcodec/vorbisdec.c b/libavcodec/vorbisdec.c >>>> index a9ddc7d..c698220 100644 >>>> --- a/libavcodec/vorbisdec.c >>>> +++ b/libavcodec/vorbisdec.c >>>> @@ -735,8 +735,8 @@ static int >>>> vorbis_parse_setup_hdr_mappings(vorbis_context *vc) >>>> >>>> if (get_bits1(gb)) { >>>> mapping_setup->coupling_steps = get_bits(gb, 8) + 1; >>>> - mapping_setup->magnitude = >>>> av_mallocz(mapping_setup->coupling_steps * sizeof(uint_fast8_t)); >>>> - mapping_setup->angle = >>>> av_mallocz(mapping_setup->coupling_steps * sizeof(uint_fast8_t)); >>>> + mapping_setup->magnitude = >>>> av_mallocz(mapping_setup->coupling_steps * >>>> sizeof(mapping_setup->coupling_steps)); >>>> + mapping_setup->angle = >>>> av_mallocz(mapping_setup->coupling_steps * >>>> sizeof(mapping_setup->coupling_steps)); >>>> for (j = 0; j < mapping_setup->coupling_steps; ++j) { >>>> GET_VALIDATED_INDEX(mapping_setup->magnitude[j], >>>> ilog(vc->audio_channels - 1), vc->audio_channels) >>>> GET_VALIDATED_INDEX(mapping_setup->angle[j], >>>> ilog(vc->audio_channels - 1), vc->audio_channels) >>>> @@ -753,7 +753,7 @@ static int >>>> vorbis_parse_setup_hdr_mappings(vorbis_context *vc) >>>> } >>>> >>>> if (mapping_setup->submaps>1) { >>>> - mapping_setup->mux = av_mallocz(vc->audio_channels * >>>> sizeof(uint_fast8_t)); >>>> + mapping_setup->mux = av_mallocz(vc->audio_channels * >>>> sizeof(vc->audio_channels)); >>>> for (j = 0; j < vc->audio_channels; ++j) >>>> mapping_setup->mux[j] = get_bits(gb, 4); >>>> } >>> >>> these changes don't make sense to me. shouldn't the sizeof param be the >>> size of one element in the destination array? >> >> Yes, the patch makes no sense at all. It should be like this: >> >> ptr = malloc(count * sizeof(*ptr)) > > > It might be useful to add something like: > > void av_mallocp(void **ptr, int count) > { > if (INT_MAX / sizeof(**ptr) >= count) > *ptr = av_malloc(count * sizeof(**ptr)); > }
That's completely unrelated to this patch, let's keep it easy for Diego. ;-). Ronald _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
