[FFmpeg-devel] [PATCH 1/2] lavf/udp: set ttl upper bound to 255
Marton Balint
cus at passwd.hu
Mon Feb 7 00:06:20 EET 2022
On Thu, 27 Jan 2022, mypopy at gmail.com wrote:
> On Thu, Jan 27, 2022 at 1:09 PM "zhilizhao(赵志立)" <quinkblack at foxmail.com> wrote:
>>
>>
>>
>> > On Jan 27, 2022, at 12:22 AM, Zhao Zhili <quinkblack at foxmail.com> wrote:
>> >
>> > ---
>> > libavformat/udp.c | 2 +-
>> > 1 file changed, 1 insertion(+), 1 deletion(-)
>> >
>> > diff --git a/libavformat/udp.c b/libavformat/udp.c
>> > index 83c042d079..b441d2ea0d 100644
>> > --- a/libavformat/udp.c
>> > +++ b/libavformat/udp.c
>> > @@ -134,7 +134,7 @@ static const AVOption options[] = {
>> > { "reuse", "explicitly allow reusing UDP sockets", OFFSET(reuse_socket), AV_OPT_TYPE_BOOL, { .i64 = -1 }, -1, 1, D|E },
>> > { "reuse_socket", "explicitly allow reusing UDP sockets", OFFSET(reuse_socket), AV_OPT_TYPE_BOOL, { .i64 = -1 }, -1, 1, .flags = D|E },
>> > { "broadcast", "explicitly allow or disallow broadcast destination", OFFSET(is_broadcast), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, E },
>> > - { "ttl", "Time to live (multicast only)", OFFSET(ttl), AV_OPT_TYPE_INT, { .i64 = 16 }, 0, INT_MAX, E },
>> > + { "ttl", "Time to live (multicast only)", OFFSET(ttl), AV_OPT_TYPE_INT, { .i64 = 16 }, 0, 255, E },
>> > { "connect", "set if connect() should be called on socket", OFFSET(is_connected), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, .flags = D|E },
>> > { "fifo_size", "set the UDP receiving circular buffer size, expressed as a number of packets with size of 188 bytes", OFFSET(circular_buffer_size), AV_OPT_TYPE_INT, {.i64 = 7*4096}, 0, INT_MAX, D },
>> > { "overrun_nonfatal", "survive in case of UDP receiving circular buffer overrun", OFFSET(overrun_nonfatal), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, D },
>> > --
>> > 2.29.2
>> >
>>
>> This patchset is related to 'Fix setsockopt IP_MULTICAST_TTL on OpenBSD’.
>>
>> https://patchwork.ffmpeg.org/project/ffmpeg/patch/Yd5jaXBCd6GP7kBh@humpty.home.comstyle.com/
>>
>> Looks like it’s impossible to avoid casting int to unsigned char, so integer
>> overflow/truncation must be handled. Since the maximum value of TTL is 255
>> limited by IPv4/IPv6, set the upper bound of AVOption to fail early for
>> invalid value.
> Patchset LGTM, limited the TTL(Time to live) in IPv4 <= 255 in option
> is better than coding in the function
Will apply.
Thanks,
Marton
More information about the ffmpeg-devel
mailing list