From patchwork Thu Feb 7 15:46:18 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Carl Eugen Hoyos X-Patchwork-Id: 11985 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 2D74244012F for ; Thu, 7 Feb 2019 17:46:27 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 02B3E68A8F0; Thu, 7 Feb 2019 17:46:27 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-it1-f170.google.com (mail-it1-f170.google.com [209.85.166.170]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D8CCB68A702 for ; Thu, 7 Feb 2019 17:46:20 +0200 (EET) Received: by mail-it1-f170.google.com with SMTP id a6so746917itl.4 for ; Thu, 07 Feb 2019 07:46:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=qj3y1UyCCK9QNigncwwczJLShize7bz6eFJnlSZ2Tgc=; b=Qd79zqZVJiGKk+HjDSEXFLkJxII9HNSAPAeDoOv9J3lP3AMZ+H53iKoNvU0kL0H5Jw H2sbIhFudW4lqTqkP8+AdsJ247VGoetZj9UPRLzCqKmq+EfAZKB8q16sBEqLcpGCIVgk k5Nmh6/VsZ4T4OHFePmusjy+lw9b3YbrFkxzz+PYvlVh0DBqDt7nyevNY/CAS2JcFWz6 8fFZ0izKaff+v+9H5gdUwf/vwHhGm/JPKa/0xTxdQ31qC8WBNq369e/LQDmSlM4IBvqS ZiOgBrTvhtBGVJH1O3Uehv9ZR3FbtqPC7XKfMeDlqk6FbGXtG/zpa7GD1Ijr33U6QlDc +Rbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=qj3y1UyCCK9QNigncwwczJLShize7bz6eFJnlSZ2Tgc=; b=Vevgr9DBUmemqSvgvyx56tveY6+Mmlj8DX7nyYKY+CYEU5SgSD+HHl0sa+7S+pTyEa ldF35tH8p21ntCvEsStKC60O7EEzxNGr619j/ovS+9MjgCFLWnHeffwNz70wM1r06gIR Ox2oHdnY/4Fu0DR+zOPs75C1I8PL2EURp00lEtHHAh/tsj+KPgs7+1Lxs54iWJR8SvkN AItpqyob1zF7JNwq0lYBL1Lo2UrXHnCJBYuS3scZAQfZMEPhyd2LwLg0uRexk35amwC3 EV5zxJg4l3RiUHlPBNDSxIZAfDCiwk0Z2NeoU9vCMZ7lTEw3dEzo3CVNkvESoMnkN6t6 nDdQ== X-Gm-Message-State: AHQUAuaMnZZwBeoM2KbHCO/Hg1Mqn9rRXTSfPlYDhkMu8wYqfCdrjkYM JH1M0jd3QcjNYwuWUKJ1yJqyzd6wwW8kaOvvWeEe6g== X-Google-Smtp-Source: AHgI3IaG2L+XBgfR/QuF5tpRuZbwQ4+cOv7lxO/C2hLHNflvuGRbqslonblyCHQVc0j6UJQR5qJA5bVwYfpje/994pI= X-Received: by 2002:a5d:9405:: with SMTP id v5mr9696080ion.250.1549554379072; Thu, 07 Feb 2019 07:46:19 -0800 (PST) MIME-Version: 1.0 Received: by 2002:a02:c890:0:0:0:0:0 with HTTP; Thu, 7 Feb 2019 07:46:18 -0800 (PST) In-Reply-To: <20190207153418.GE13386@sunshine.barsnick.net> References: <20190207153418.GE13386@sunshine.barsnick.net> From: Carl Eugen Hoyos Date: Thu, 7 Feb 2019 16:46:18 +0100 Message-ID: To: FFmpeg development discussions and patches Subject: Re: [FFmpeg-devel] [PATCH]lavf/mpegts: Do not print the character coding as part of service name X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" 2019-02-07 16:34 GMT+01:00, Moritz Barsnick : > On Thu, Feb 07, 2019 at 14:40:40 +0100, Carl Eugen Hoyos wrote: >> + if (p[0] < 0x20) { >> + p++; >> + if (--len < 0) >> + return NULL; >> + } > > If I understand section "A.2 Selection of character table" of ETSI EN > 300 468 correctly, you need to drop an additional byte if the first > byte (p[0]) is 0x1F, or an additional two bytes if the first one is > 0x10. New patch attached. Thank you, Carl Eugen From a63c53bc224b6a1d53197e3dafd2ec9c6097d3c0 Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Thu, 7 Feb 2019 16:45:19 +0100 Subject: [PATCH] lavf/mpegts: Do not print the character coding as part of service name. Fixes ticket #6320. --- libavformat/mpegts.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index b04fd7b..f161c0f 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -674,6 +674,18 @@ static char *getstr8(const uint8_t **pp, const uint8_t *p_end) return NULL; if (len > p_end - p) return NULL; + if (*p < 0x20) { + if (*p == 0x10) { + p += 2; + len -= 2; + } else if (*p == 0x1f) { + p++; + len--; + } + p++; + if (--len < 0) + return NULL; + } str = av_malloc(len + 1); if (!str) return NULL; -- 1.7.10.4