[FFmpeg-cvslog] avformat/udp: remove local localaddr array

Limin Wang git at videolan.org
Fri Nov 26 11:44:31 EET 2021


ffmpeg | branch: master | Limin Wang <lance.lmwang at gmail.com> | Wed Nov 24 20:09:53 2021 +0800| [27c930002702f512b80124249c5efbcc0ef04841] | committer: Limin Wang

avformat/udp: remove local localaddr array

Reviewed-by: Martin Storsjö <martin at martin.st>
Signed-off-by: Limin Wang <lance.lmwang at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=27c930002702f512b80124249c5efbcc0ef04841
---

 libavformat/udp.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/libavformat/udp.c b/libavformat/udp.c
index bbe5aecc46..b8b0e19609 100644
--- a/libavformat/udp.c
+++ b/libavformat/udp.c
@@ -623,7 +623,7 @@ end:
 /* return non zero if error */
 static int udp_open(URLContext *h, const char *uri, int flags)
 {
-    char hostname[1024], localaddr[1024] = "";
+    char hostname[1024];
     int port, udp_fd = -1, tmp, bind_ret = -1, dscp = -1;
     UDPContext *s = h->priv_data;
     int is_output;
@@ -708,7 +708,8 @@ static int udp_open(URLContext *h, const char *uri, int flags)
             s->burst_bits = strtoll(buf, NULL, 10);
         }
         if (av_find_info_tag(buf, sizeof(buf), "localaddr", p)) {
-            av_strlcpy(localaddr, buf, sizeof(localaddr));
+            av_freep(&s->localaddr);
+            s->localaddr = av_strdup(buf);
         }
         if (av_find_info_tag(buf, sizeof(buf), "sources", p)) {
             if ((ret = ff_ip_parse_sources(h, buf, &s->filters)) < 0)
@@ -748,10 +749,7 @@ static int udp_open(URLContext *h, const char *uri, int flags)
     if ((s->is_multicast || s->local_port <= 0) && (h->flags & AVIO_FLAG_READ))
         s->local_port = port;
 
-    if (localaddr[0])
-        udp_fd = udp_socket_create(h, &my_addr, &len, localaddr);
-    else
-        udp_fd = udp_socket_create(h, &my_addr, &len, s->localaddr);
+    udp_fd = udp_socket_create(h, &my_addr, &len, s->localaddr);
     if (udp_fd < 0)
         goto fail;
 



More information about the ffmpeg-cvslog mailing list