diff mbox series

[FFmpeg-devel] libavformat/mpegts.c: fix to check end of each descriptor of SDT

Message ID 20220403100751.189390-1-aimingoff@pc.nifty.jp
State Accepted
Commit 5dcedfcd17bf74692667258ca4320a7aedda333a
Headers show
Series [FFmpeg-devel] libavformat/mpegts.c: fix to check end of each descriptor of SDT | expand

Checks

Context Check Description
andriy/make_aarch64_jetson success Make finished
andriy/make_fate_aarch64_jetson success Make fate finished
andriy/make_armv7_RPi4 success Make finished
andriy/make_fate_armv7_RPi4 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

TADANO Tokumei April 3, 2022, 10:07 a.m. UTC
Current code incorrectly check against end of section rather than
end of descriptor.

Signed-off-by: TADANO Tokumei <aimingoff@pc.nifty.jp>
---
 libavformat/mpegts.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

TADANO Tokumei April 7, 2022, 9:25 a.m. UTC | #1
will apply

On 2022/04/03 19:07, TADANO Tokumei wrote:
> Current code incorrectly check against end of section rather than
> end of descriptor.
> 
> Signed-off-by: TADANO Tokumei <aimingoff@pc.nifty.jp>
> ---
>   libavformat/mpegts.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
> index da77b50669..ecffb01562 100644
> --- a/libavformat/mpegts.c
> +++ b/libavformat/mpegts.c
> @@ -2718,13 +2718,13 @@ static void sdt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
>   
>               switch (desc_tag) {
>               case 0x48:
> -                service_type = get8(&p, p_end);
> +                service_type = get8(&p, desc_end);
>                   if (service_type < 0)
>                       break;
> -                provider_name = getstr8(&p, p_end);
> +                provider_name = getstr8(&p, desc_end);
>                   if (!provider_name)
>                       break;
> -                name = getstr8(&p, p_end);
> +                name = getstr8(&p, desc_end);
>                   if (name) {
>                       AVProgram *program = av_new_program(ts->stream, sid);
>                       if (program) {
Marton Balint April 9, 2022, 6:29 p.m. UTC | #2
On Sun, 3 Apr 2022, TADANO Tokumei wrote:

> Current code incorrectly check against end of section rather than
> end of descriptor.

Thanks, applied.

Regards,
Marton

>
> Signed-off-by: TADANO Tokumei <aimingoff@pc.nifty.jp>
> ---
> libavformat/mpegts.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
> index da77b50669..ecffb01562 100644
> --- a/libavformat/mpegts.c
> +++ b/libavformat/mpegts.c
> @@ -2718,13 +2718,13 @@ static void sdt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
>
>             switch (desc_tag) {
>             case 0x48:
> -                service_type = get8(&p, p_end);
> +                service_type = get8(&p, desc_end);
>                 if (service_type < 0)
>                     break;
> -                provider_name = getstr8(&p, p_end);
> +                provider_name = getstr8(&p, desc_end);
>                 if (!provider_name)
>                     break;
> -                name = getstr8(&p, p_end);
> +                name = getstr8(&p, desc_end);
>                 if (name) {
>                     AVProgram *program = av_new_program(ts->stream, sid);
>                     if (program) {
> -- 
> 2.30.2
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
>
diff mbox series

Patch

diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index da77b50669..ecffb01562 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -2718,13 +2718,13 @@  static void sdt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
 
             switch (desc_tag) {
             case 0x48:
-                service_type = get8(&p, p_end);
+                service_type = get8(&p, desc_end);
                 if (service_type < 0)
                     break;
-                provider_name = getstr8(&p, p_end);
+                provider_name = getstr8(&p, desc_end);
                 if (!provider_name)
                     break;
-                name = getstr8(&p, p_end);
+                name = getstr8(&p, desc_end);
                 if (name) {
                     AVProgram *program = av_new_program(ts->stream, sid);
                     if (program) {