aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/udp.c
diff options
context:
space:
mode:
authorLimin Wang <lance.lmwang@gmail.com>2022-02-07 18:22:02 +0800
committerLimin Wang <lance.lmwang@gmail.com>2022-02-12 08:41:55 +0800
commit1de24ee5120b175f38fa42a6b1fbfeeb9f4a50d5 (patch)
tree9b7993a76fafe628470a624e127cfb76b89978bf /libavformat/udp.c
parent1ca19cf37121c1e162c86b22e0349a7e864faf52 (diff)
downloadffmpeg-1de24ee5120b175f38fa42a6b1fbfeeb9f4a50d5.tar.gz
avformat/udp: properly check for valid ttl in url
Zhao Zhili added a ttl upper bound in commit 9daac85da8, but the check for ttl in url is missing still. Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
Diffstat (limited to 'libavformat/udp.c')
-rw-r--r--libavformat/udp.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavformat/udp.c b/libavformat/udp.c
index da56c8ee1d..401d9b6275 100644
--- a/libavformat/udp.c
+++ b/libavformat/udp.c
@@ -674,6 +674,11 @@ static int udp_open(URLContext *h, const char *uri, int flags)
}
if (av_find_info_tag(buf, sizeof(buf), "ttl", p)) {
s->ttl = strtol(buf, NULL, 10);
+ if (s->ttl < 0 || s->ttl > 255) {
+ av_log(h, AV_LOG_ERROR, "ttl(%d) should be in range [0,255]\n", s->ttl);
+ ret = AVERROR(EINVAL);
+ goto fail;
+ }
}
if (av_find_info_tag(buf, sizeof(buf), "udplite_coverage", p)) {
s->udplite_coverage = strtol(buf, NULL, 10);