On 24/11/15 08:55, Martin Storsjö wrote:
> On Tue, 24 Nov 2015, Luca Barbato wrote:
> 
>> And forward the logging contexts when needed.
>> ---
>> libavformat/rtsp.c    | 27 ++++++++++++++++++---------
>> libavformat/rtsp.h    |  3 ++-
>> libavformat/rtspdec.c |  2 +-
>> 3 files changed, 21 insertions(+), 11 deletions(-)
>>
>> diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
>> index 5973f9b..57ce973 100644
>> --- a/libavformat/rtsp.c
>> +++ b/libavformat/rtsp.c
>> @@ -178,12 +178,19 @@ static void rtsp_parse_range_npt(const char *p,
>> int64_t *start, int64_t *end)
>>     }
>> }
>>
>> -static int get_sockaddr(const char *buf, struct sockaddr_storage *sock)
>> +static int get_sockaddr(AVFormatContext *s,
>> +                        const char *buf, struct sockaddr_storage *sock)
>> {
>>     struct addrinfo hints = { 0 }, *ai = NULL;
>> +    int ret;
>> +
>>     hints.ai_flags = AI_NUMERICHOST;
>> -    if (getaddrinfo(buf, NULL, &hints, &ai))
>> +    if ((ret = getaddrinfo(buf, NULL, &hints, &ai))) {
>> +        av_log(s, AV_LOG_ERROR, "getaddrinfo(%s): %s\n",
>> +               buf,
>> +               gai_strerror(ret));
>>         return -1;
>> +    }
>>     memcpy(sock, ai->ai_addr, FFMIN(sizeof(*sock), ai->ai_addrlen));
>>     freeaddrinfo(ai);
>>     return 0;
>> @@ -391,7 +398,7 @@ static void sdp_parse_line(AVFormatContext *s,
>> SDPParseState *s1,
>>         if (strcmp(buf1, "IP4") && strcmp(buf1, "IP6"))
>>             return;
>>         get_word_sep(buf1, sizeof(buf1), "/", &p);
>> -        if (get_sockaddr(buf1, &sdp_ip))
>> +        if (get_sockaddr(s, buf1, &sdp_ip))
>>             return;
>>         ttl = 16;
>>         if (*p == '/') {
>> @@ -853,7 +860,8 @@ static void rtsp_parse_range(int *min_ptr, int
>> *max_ptr, const char **pp)
>> }
>>
>> /* XXX: only one transport specification is parsed */
>> -static void rtsp_parse_transport(RTSPMessageHeader *reply, const char
>> *p)
>> +static void rtsp_parse_transport(AVFormatContext *s,
>> +                                 RTSPMessageHeader *reply, const char
>> *p)
>> {
>>     char transport_protocol[16];
>>     char profile[16];
>> @@ -945,7 +953,7 @@ static void rtsp_parse_transport(RTSPMessageHeader
>> *reply, const char *p)
>>                 if (*p == '=') {
>>                     p++;
>>                     get_word_sep(buf, sizeof(buf), ";,", &p);
>> -                    get_sockaddr(buf, &th->destination);
>> +                    get_sockaddr(s, buf, &th->destination);
>>                 }
>>             } else if (!strcmp(parameter, "source")) {
>>                 if (*p == '=') {
>> @@ -1032,7 +1040,8 @@ static void rtsp_parse_rtp_info(RTSPState *rt,
>> const char *p)
>>         handle_rtp_info(rt, url, seq, rtptime);
>> }
>>
>> -void ff_rtsp_parse_line(RTSPMessageHeader *reply, const char *buf,
>> +void ff_rtsp_parse_line(AVFormatContext *s,
>> +                        RTSPMessageHeader *reply, const char *buf,
>>                         RTSPState *rt, const char *method)
>> {
>>     const char *p;
>> @@ -1049,7 +1058,7 @@ void ff_rtsp_parse_line(RTSPMessageHeader
>> *reply, const char *buf,
>>     } else if (av_stristart(p, "Content-Length:", &p)) {
>>         reply->content_length = strtol(p, NULL, 10);
>>     } else if (av_stristart(p, "Transport:", &p)) {
>> -        rtsp_parse_transport(reply, p);
>> +        rtsp_parse_transport(s, reply, p);
>>     } else if (av_stristart(p, "CSeq:", &p)) {
>>         reply->seq = strtol(p, NULL, 10);
>>     } else if (av_stristart(p, "Range:", &p)) {
>> @@ -1178,7 +1187,7 @@ start:
>>                 request = 1;
>>             }
>>         } else {
>> -            ff_rtsp_parse_line(reply, p, rt, method);
>> +            ff_rtsp_parse_line(s, reply, p, rt, method);
>>             av_strlcat(rt->last_reply, p,    sizeof(rt->last_reply));
>>             av_strlcat(rt->last_reply, "\n", sizeof(rt->last_reply));
>>         }
>> @@ -2258,7 +2267,7 @@ static int sdp_read_header(AVFormatContext *s)
>>
>>     /* open each RTP stream */
>>     for (i = 0; i < rt->nb_rtsp_streams; i++) {
>> -        char namebuf[50];
>> +        char namebuf[50] = "\0";
>>         rtsp_st = rt->rtsp_streams[i];
>>
> 
> This seems unrelated to the rest of the patch (and as far as I can see,
> after patch 1/4, it shouldn't be necessary either?) - the rest looks good.

Yes, a leftover...

lu

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to