[vlc-devel] [PATCH 1/2] httplive: fix Read func. (when caller skips data)

Hugo Beauzée-Luyssen beauze.h at gmail.com
Wed Feb 1 14:52:47 CET 2012


On Wed, Feb 1, 2012 at 1:13 PM, Frederic YHUEL <fyhuel at viotech.net> wrote:
> On Wed, Feb 1, 2012 at 12:28 PM, Hugo Beauzée-Luyssen
> <beauze.h at gmail.com> wrote:
>> On Wed, Feb 1, 2012 at 12:13 PM, Jean-Baptiste Kempf <jb at videolan.org> wrote:
>>> On Tue, Jan 31, 2012 at 01:32:22PM +0100, Frederic YHUEL wrote :
>>>> -            memcpy(p_read + copied, segment->data->p_buffer, len);
>>>> +            if( p_read ) /* otherwise caller skips data */
>>>> +                memcpy(p_read + copied, segment->data->p_buffer, len);
>>>
>>> The code seems wrong if hls_read can be called with p_read at NULL.
>>> Use assert then.
>>>
>>>> -    if (buffer == NULL)
>>>> -    {
>>>> -        /* caller skips data, get big enough buffer */
>>>> -        msg_Warn(s, "buffer is NULL (allocate %d)", i_read);
>>>> -        buffer = calloc(1, i_read);
>>>> -        if (buffer == NULL)
>>>> -            return 0; /* NO MEMORY left*/
>>>> -    }
>>>
>>> What guarrantees us that the buffer will not be NULL ?
>>>
>>> Best regards,
>>>
>>
>> If I'm not mistaking, the all point is to allow buffer to be NULL.
>> This patch looks correct to me, I don't see the point in allocating
>> memory and copying data to it if the data is to be skipped.
>
> +1
>
>> Maybe adding a comment stating that p_read may be NULL at the
>> beginning of the hls_Read function would be better, so one doesn't
>> assume p_read is always != NULL
>>
>
> Indeed, it would probably have helped my point :-)
> Here is a new patch with such a comment.
>
> Thanks,
>

Works for me.

Regards,


-- 
Hugo Beauzée-Luyssen



More information about the vlc-devel mailing list