From patchwork Sat Sep 19 16:35:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 22487 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 0079B44A83E for ; Sat, 19 Sep 2020 19:37:26 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BB38A68B779; Sat, 19 Sep 2020 19:37:25 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5279D68B700 for ; Sat, 19 Sep 2020 19:37:17 +0300 (EEST) Received: by mail-wr1-f67.google.com with SMTP id o5so8568310wrn.13 for ; Sat, 19 Sep 2020 09:37:17 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=LkOvbRAlZ0v43sB5guukvvHIJf6Mjn9i5fZXY8P6KhY=; b=o4pbXE3Uv/ejAD4PXTkkEdibuLWIACjVwfRZjWfIEc46xsulk8yJOUj55QrWSrr1H4 jj7/rwhWq1cNTUvGNK7Gkxt1NINzcE4EJhcM7BQDqt4iB4+r3hu93nca7V69ItGYGCNK vIk+R9X92P+PyYn81fTA5fvC8cw0hTBPADqetQbR51BAgUcJvWppmvBVCw/evrdJ/YUj HQkdmwa9a7dMtWUjT2EnkpDuI7hqfkT4lv+40gwSWKkTSO3zjutY4zv1eUlVm17S4Yap P128hQ/IKhd2QqfRqPL2g5l0r2oc0UHg8E2Qr7vy7vodUPu/O4ZB0usFKxEe7yTWziS7 T8JA== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=LkOvbRAlZ0v43sB5guukvvHIJf6Mjn9i5fZXY8P6KhY=; b=N1EXYqvG0IP65+l20t/3G/B5j4pdfvQF4nx9cE5AWpTJ56kIWiWuHhveCF8d9eLo8b Y7A6/AoHarK+eHM3gXIVmVzDjFOTg+t03BFI5zgZ0ycIXPypNj0ZdSlAOw0ibn073ZRk iVaxgOhq6zQCxEC1ef25Z7Y77Y6PdeAjtEt6OSB6dsvnLfF0a/n/66qUn5fzvIfCLI2A 1azGKJAebESQVvjyppfsZzhpT2WLQyqfzqrRGn8qNPbSxSOpJHsegrvRu0rVg5IuSmEH kczUfnPIKe38zP8QFW/wQ1/S3XheydGwqjsBC8Bp9eU7zV2Jmof/JVX/spN73dVzD6wz QB+Q== X-Gm-Message-State: AOAM530Af0EiVQIg1QwVT5C3q/wXRP1tTMXlBJWOCMz2BpRYXS1B8I1+ AVwo9zzGSNyZsLgXthpwxxbiIYyJb70= X-Google-Smtp-Source: ABdhPJzgK0O7UcM2PLfbVqEiIt+OAQMpuD23RgZgh9F43R3qdEPyLw7pkbSGAJ1c7HeaLvAzEohE3g== X-Received: by 2002:adf:f3c6:: with SMTP id g6mr47548406wrp.340.1600533436502; Sat, 19 Sep 2020 09:37:16 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id d5sm12451137wrb.28.2020.09.19.09.37.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Sep 2020 09:37:15 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 19 Sep 2020 18:35:54 +0200 Message-Id: <20200919163610.1099233-5-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200919163610.1099233-1-andreas.rheinhardt@gmail.com> References: <20200919163610.1099233-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 05/21] avformat/dashdec: Free strings as soon as they aren't needed anymore 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" Signed-off-by: Andreas Rheinhardt --- libavformat/dashdec.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/libavformat/dashdec.c b/libavformat/dashdec.c index 3f51e079cf..8b421a4493 100644 --- a/libavformat/dashdec.c +++ b/libavformat/dashdec.c @@ -616,9 +616,9 @@ static int parse_manifest_segmenturlnode(AVFormatContext *s, struct representati if (initialization_val || range_val) { free_fragment(&rep->init_section); rep->init_section = get_Fragment(range_val); + xmlFree(range_val); if (!rep->init_section) { xmlFree(initialization_val); - xmlFree(range_val); return AVERROR(ENOMEM); } rep->init_section->url = get_content_url(baseurl_nodes, 4, @@ -626,24 +626,20 @@ static int parse_manifest_segmenturlnode(AVFormatContext *s, struct representati rep_id_val, rep_bandwidth_val, initialization_val); - + xmlFree(initialization_val); if (!rep->init_section->url) { av_freep(&rep->init_section); - xmlFree(initialization_val); - xmlFree(range_val); return AVERROR(ENOMEM); } - xmlFree(initialization_val); - xmlFree(range_val); } } else if (!av_strcasecmp(fragmenturl_node->name, (const char *)"SegmentURL")) { media_val = xmlGetProp(fragmenturl_node, "media"); range_val = xmlGetProp(fragmenturl_node, "mediaRange"); if (media_val || range_val) { struct fragment *seg = get_Fragment(range_val); + xmlFree(range_val); if (!seg) { xmlFree(media_val); - xmlFree(range_val); return AVERROR(ENOMEM); } seg->url = get_content_url(baseurl_nodes, 4, @@ -651,15 +647,12 @@ static int parse_manifest_segmenturlnode(AVFormatContext *s, struct representati rep_id_val, rep_bandwidth_val, media_val); + xmlFree(media_val); if (!seg->url) { av_free(seg); - xmlFree(media_val); - xmlFree(range_val); return AVERROR(ENOMEM); } dynarray_add(&rep->fragments, &rep->n_fragments, seg); - xmlFree(media_val); - xmlFree(range_val); } }