From patchwork Fri Mar 13 19:14:16 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 18178 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 CEB0B448596 for ; Fri, 13 Mar 2020 21:14:37 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B01F668B1E8; Fri, 13 Mar 2020 21:14:37 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C6F6868AFE6 for ; Fri, 13 Mar 2020 21:14:31 +0200 (EET) Received: by mail-wm1-f68.google.com with SMTP id 25so11157369wmk.3 for ; Fri, 13 Mar 2020 12:14:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=JWUEf/Owq5LtxQD5vw2AI67UaL/BUKhSu9C1HPwhOl8=; b=YTmZrLoJnVCnrtWHTnKe1fAlsrNpRK9i3zvXUNvL/KJRrsZOfyEJupcAFjsj/w4lDz Zx6+ltvnLoKwzLBgdb4oFVb06QNMlYt4v7SAjQXpNTThvO6yXOy4YQiucZ9IeBwAr3pW MkyvrDlIAwsNyVDRb7sm4h+/wwxnEGcnDWR5mE3n/lvBITq3tecgVvNylOZvZHXiejjA uTHMDrVW/ZQuZ/ZB/WkGL1D4XnYGJZXebntEIYU465KUG2VwomU7A1Yu91QHqlvDMeBS dXVDNM3uk/AmSVbmpCRu4LtlODsW1qEIpEMsEfJvX8fu1fYPx7StMZV79s5MX9oM6GeN ZFZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=JWUEf/Owq5LtxQD5vw2AI67UaL/BUKhSu9C1HPwhOl8=; b=bnZdkoDY+/+TrngGnJ50w23JOOPzEweuYgcy2mzEOSumVwjK/8EpJcPBCYeMeVLF0P w0RZjD9tBMBQwNaYS+13PCqMk/xCqKDHIl2L7HkOy9bljHzbO6jo5emmvgnQsCuP8ONP VB1u71o5g53iqiqpWiYYW59cvtIHtFdYLl7P6v2V6WMortFP02RMAlshqeC0gnK9bnCq n5ayQcK4A3xtx7ebGbAnoTqNQ+5tF9qsXiBxD22LI5FlV4Ums+hT3Rwl1jtYNPc5a9yg UkpHI3Rk8TkSc+46MBCzUUZA8mUJk9IrL6jsU5U0Puir7T06k3Q1N7mqidpU9YRKztSt 6P4A== X-Gm-Message-State: ANhLgQ1A1IpDLKLcypxh0FsuzI3/u5hgYggoxQO3PNfjkBP9f8QBxgEf FVhsxsrlT2wS5QpARsh808FuUSvD X-Google-Smtp-Source: ADFU+vt8TMk5dVD8G7MNhqQb5aIG/CPsU2PwHt0yYYVBoHG7J9KgzC13shEt6QHGF30BUGd1oBb28w== X-Received: by 2002:a05:600c:2056:: with SMTP id p22mr11621724wmg.136.1584126870667; Fri, 13 Mar 2020 12:14:30 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1ab4b.dynamic.kabel-deutschland.de. [188.193.171.75]) by smtp.gmail.com with ESMTPSA id f9sm1340654wro.47.2020.03.13.12.14.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Mar 2020 12:14:29 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 13 Mar 2020 20:14:16 +0100 Message-Id: <20200313191416.13974-1-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avformat/dashdec: Don't allocate and leak strings that are never used 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Since commit e134c203 strdups of several elements of a manifest are kept in the DASHContext; but said commit completely forgot to free these strings again (with xmlFree()). Given that these strings are never used at all, this commit closes this leak by reverting said commit. Signed-off-by: Andreas Rheinhardt --- libavformat/dashdec.c | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/libavformat/dashdec.c b/libavformat/dashdec.c index 5bbe5d3985..271202b0a5 100644 --- a/libavformat/dashdec.c +++ b/libavformat/dashdec.c @@ -122,19 +122,6 @@ struct representation { typedef struct DASHContext { const AVClass *class; char *base_url; - char *adaptionset_contenttype_val; - char *adaptionset_par_val; - char *adaptionset_lang_val; - char *adaptionset_minbw_val; - char *adaptionset_maxbw_val; - char *adaptionset_minwidth_val; - char *adaptionset_maxwidth_val; - char *adaptionset_minheight_val; - char *adaptionset_maxheight_val; - char *adaptionset_minframerate_val; - char *adaptionset_maxframerate_val; - char *adaptionset_segmentalignment_val; - char *adaptionset_bitstreamswitching_val; int n_videos; struct representation **videos; @@ -1124,26 +1111,12 @@ static int parse_manifest_adaptationset(AVFormatContext *s, const char *url, xmlNodePtr period_segmentlist_node) { int ret = 0; - DASHContext *c = s->priv_data; xmlNodePtr fragment_template_node = NULL; xmlNodePtr content_component_node = NULL; xmlNodePtr adaptionset_baseurl_node = NULL; xmlNodePtr adaptionset_segmentlist_node = NULL; xmlNodePtr adaptionset_supplementalproperty_node = NULL; xmlNodePtr node = NULL; - c->adaptionset_contenttype_val = xmlGetProp(adaptionset_node, "contentType"); - c->adaptionset_par_val = xmlGetProp(adaptionset_node, "par"); - c->adaptionset_lang_val = xmlGetProp(adaptionset_node, "lang"); - c->adaptionset_minbw_val = xmlGetProp(adaptionset_node, "minBandwidth"); - c->adaptionset_maxbw_val = xmlGetProp(adaptionset_node, "maxBandwidth"); - c->adaptionset_minwidth_val = xmlGetProp(adaptionset_node, "minWidth"); - c->adaptionset_maxwidth_val = xmlGetProp(adaptionset_node, "maxWidth"); - c->adaptionset_minheight_val = xmlGetProp(adaptionset_node, "minHeight"); - c->adaptionset_maxheight_val = xmlGetProp(adaptionset_node, "maxHeight"); - c->adaptionset_minframerate_val = xmlGetProp(adaptionset_node, "minFrameRate"); - c->adaptionset_maxframerate_val = xmlGetProp(adaptionset_node, "maxFrameRate"); - c->adaptionset_segmentalignment_val = xmlGetProp(adaptionset_node, "segmentAlignment"); - c->adaptionset_bitstreamswitching_val = xmlGetProp(adaptionset_node, "bitstreamSwitching"); node = xmlFirstElementChild(adaptionset_node); while (node) {