From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 99AEC4E422 for ; Thu, 10 Jul 2025 02:21:18 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id EF51568F8EA; Thu, 10 Jul 2025 05:21:07 +0300 (EEST) Received: from mail-qk1-f194.google.com (mail-qk1-f194.google.com [209.85.222.194]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 1A58868F8D9 for ; Thu, 10 Jul 2025 05:21:01 +0300 (EEST) Received: by mail-qk1-f194.google.com with SMTP id af79cd13be357-7d094ef02e5so196011285a.1 for ; Wed, 09 Jul 2025 19:21:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752114059; x=1752718859; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=pd+i1BtDR67Y3S7HNpCT/wi1580MlJUypZH7F87sgcY=; b=D8ED5EcnDV+LAfloTXUKkBXRaOZOOug21LN9hg/e/19ccuhOAcoRx7ajG5yEq+bnJZ VM3c6SjOctWR5btrv/B+N7OdwN260dwHF2E8V3kafJ2/6oMqgldlOIQvh5O76m+/ybws q7shjqWP6Plu3Uxdq4yVUrBZcNEBX2HCY5JxAdpov701lc+zXuqGHwXaoZzMLbr0RXUC uQGXwJOvLgep1Y97Q0tdTApmPk3DmgvQaSFmuCuNme8/SLBA9mbqbGbHfy45l7V9hSMy JUZUyzpawfBZ1nrf15oorstJQ9Q/AIuHtYxagVSrjUTWXGgRN4h1PoBKPlvUfP9fDziQ Ig5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752114059; x=1752718859; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pd+i1BtDR67Y3S7HNpCT/wi1580MlJUypZH7F87sgcY=; b=B6xjO+HVI5drCMd83FuX/oeqowq05Q4tg838+WvXFTsSXuzHPAAPL8RR/tfcgVEXkz 4BGuU+5p/M3hiQydjdgoxjpNmOYHv6SnxPSiDqfocnHMl93Zy2GTUkwpe0ExI0lT7H/a wcjbKtwCvuJT+JUrxVnzXi5HxFg9jeQZRyjmWnkDPp8ypkZ4SHWoLK1RbxqOD4Big897 rxXsjeutccd0UPaV8pcW3/E71FfrU9J++3Zmw6+BrBaSK0z4rn5IqQPC8HhDI536hNvO hZhK6vGH0RtOM724GChMHte+FOzXrDsc10escSuycA+Lx6fJ0qLk/hskEl/sFtyMd+jm h19w== X-Gm-Message-State: AOJu0Yw8x9whkfAxHfHeSh1jeQAv0X4OarCsWm3tOquHFvAP5TnjUWIB eWUI+jV9PVBOCiCMRH0aCxYle4lWaivSpCLAf9pB/OQoI60P3KYgt4SBpTKSsaYA X-Gm-Gg: ASbGncvb2vRbLIgfZRTs04f9nTuEtYTapeNF7gBPQVsLVi4nI9T3G7RSZXY7BDL67Om lpFxFKbp/NzMTRXxf8jViX0vStCVTLpg0IGi851Ws33RCmyXxJP0KRjOtUV1HOye9NPFFwNw82g Lpqpn5eFmgUYDbgUj+AaD2jnlYbeDpjDq3TPSJIYTU9a31fZ/sFUi6xV5B6v4rc2yGmYKolxdC5 J0zj1YjSAfdsJxyryRhbzOu1xB9+WQ5dtwKzHGmAZI4TpEBwv6BczwK1ZYS++lOEzE9L1XMns5U BSYnfaH7lKVla7Cq73LSTMItkHNnb+Jisr9K1WJdTQ66sdbP8eYmHkuNKnzwYbKwlBpf X-Google-Smtp-Source: AGHT+IEHYmIDyRtDMHANPSUodzSkIQckeOIbAvKUlSZbKlitS7pG5JLlq/A+YLkF0cDUeGwTnRY5oQ== X-Received: by 2002:a05:620a:4050:b0:7d4:1e32:5421 with SMTP id af79cd13be357-7dc99d93165mr293858385a.5.1752114059306; Wed, 09 Jul 2025 19:20:59 -0700 (PDT) Received: from r760 ([188.253.126.212]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7dcde422c11sm37268885a.76.2025.07.09.19.20.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Jul 2025 19:20:58 -0700 (PDT) From: Lidong Yan X-Google-Original-From: Lidong Yan <502024330056@smail.nju.edu.cn> To: ffmpeg-devel@ffmpeg.org Date: Thu, 10 Jul 2025 10:20:45 +0800 Message-ID: <20250710022047.1847641-2-502024330056@smail.nju.edu.cn> X-Mailer: git-send-email 2.50.0.107.g33b6ec8c79 In-Reply-To: <20250710022047.1847641-1-502024330056@smail.nju.edu.cn> References: <20250710022047.1847641-1-502024330056@smail.nju.edu.cn> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2 1/3] avformat/sapenc: fix leak in sap_write_header() X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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: Lidong Yan <502024330056@smail.nju.edu.cn> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: In sap_write_header(), ff_format_set_url() assign new allocated new_url to contexts[i]->url but forgot to free it later. Add for loop to free contexts[i]->url before av_free(context). To prevent from writing free-for-loop in every return point, replace `return 0` with `ret = 0` so normal execution can fall through fail code. Signed-off-by: Lidong Yan <502024330056@smail.nju.edu.cn> --- libavformat/sapenc.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/libavformat/sapenc.c b/libavformat/sapenc.c index 87a834a8d8..0567a754e2 100644 --- a/libavformat/sapenc.c +++ b/libavformat/sapenc.c @@ -233,7 +233,6 @@ static int sap_write_header(AVFormatContext *s) ret = AVERROR_INVALIDDATA; goto fail; } - av_freep(&contexts); av_log(s, AV_LOG_VERBOSE, "SDP:\n%s\n", &sap->ann[pos]); pos += strlen(&sap->ann[pos]); sap->ann_size = pos; @@ -244,11 +243,17 @@ static int sap_write_header(AVFormatContext *s) goto fail; } - return 0; + ret = 0; fail: - av_free(contexts); - sap_write_close(s); + if (contexts) { + for (i = 0; i < s->nb_streams; i++) + if (contexts[i]) + av_free(contexts[i]->url); + av_free(contexts); + } + if (ret < 0) + sap_write_close(s); return ret; } -- 2.50.0.107.g33b6ec8c79 _______________________________________________ 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".