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

Reply via email to