[FFmpeg-devel] [PATCH] avformat/avio: check input URLContext value NULL
Jun Zhao
mypopydev at gmail.com
Mon Nov 20 09:43:31 EET 2017
On 2017/11/20 15:35, 刘歧 wrote:
>
>> 在 2017年11月20日,15:23,Jun Zhao <mypopydev at gmail.com> 写道:
>>
>>
>>
>> On 2017/11/20 14:45, Steven Liu wrote:
>>> fix ticket id: #6846
>>>
>>> Signed-off-by: Steven Liu <lq at chinaffmpeg.org>
>>> ---
>>> libavformat/avio.c | 8 ++++++++
>>> 1 file changed, 8 insertions(+)
>>>
>>> diff --git a/libavformat/avio.c b/libavformat/avio.c
>>> index 4dc468350c..e719326660 100644
>>> --- a/libavformat/avio.c
>>> +++ b/libavformat/avio.c
>>> @@ -625,6 +625,8 @@ int64_t ffurl_size(URLContext *h)
>>>
>>> int ffurl_get_file_handle(URLContext *h)
>>> {
>>> + if (!h)
>>> + return AVERROR(EINVAL);
>>> if (!h->prot->url_get_file_handle)
>> I think (!h && !h->prot && !h->prot->url_get_file_handle) more better
>> than this
> maybe you mean (!h || !h->port || !h->prot->url_get_file_handle) , is it?
No, I means
if (!h && !h->prot && !h->prot->url_get_file_handle)
Do somthing
else
return error;
>>> return -1;
>>> return h->prot->url_get_file_handle(h);
>>> @@ -632,6 +634,8 @@ int ffurl_get_file_handle(URLContext *h)
>>>
>>> int ffurl_get_multi_file_handle(URLContext *h, int **handles, int *numhandles)
>>> {
>>> + if (!h)
>>> + return AVERROR(EINVAL);
>>> if (!h->prot->url_get_multi_file_handle) {
>>> if (!h->prot->url_get_file_handle)
>>> return AVERROR(ENOSYS);
>>> @@ -647,6 +651,8 @@ int ffurl_get_multi_file_handle(URLContext *h, int **handles, int *numhandles)
>>>
>>> int ffurl_get_short_seek(URLContext *h)
>>> {
>>> + if (!h)
>>> + return AVERROR(EINVAL);
>>> if (!h->prot->url_get_short_seek)
>>> return AVERROR(ENOSYS);
>>> return h->prot->url_get_short_seek(h);
>>> @@ -654,6 +660,8 @@ int ffurl_get_short_seek(URLContext *h)
>>>
>>> int ffurl_shutdown(URLContext *h, int flags)
>>> {
>>> + if (!h)
>>> + return AVERROR(EINVAL);
>>> if (!h->prot->url_shutdown)
>>> return AVERROR(EINVAL);
>>> return h->prot->url_shutdown(h, flags);
More information about the ffmpeg-devel
mailing list