From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1558337-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id 0E667158089
	for <garchives@archives.gentoo.org>; Thu, 28 Sep 2023 08:25:18 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 303D42BC018;
	Thu, 28 Sep 2023 08:25:17 +0000 (UTC)
Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id EBE822BC018
	for <gentoo-commits@lists.gentoo.org>; Thu, 28 Sep 2023 08:25:16 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 0B11E335CEE
	for <gentoo-commits@lists.gentoo.org>; Thu, 28 Sep 2023 08:25:16 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 711691270
	for <gentoo-commits@lists.gentoo.org>; Thu, 28 Sep 2023 08:25:14 +0000 (UTC)
From: "Marek Szuba" <marecki@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Marek Szuba" <marecki@gentoo.org>
Message-ID: <1695889501.6e09b30342bb353a0c6603325c27a79332c9e66f.marecki@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: app-misc/mc/files/, app-misc/mc/
X-VCS-Repository: repo/gentoo
X-VCS-Files: app-misc/mc/files/mc-4.8.30-mcdiff-segfault.patch app-misc/mc/mc-4.8.30-r1.ebuild app-misc/mc/mc-4.8.30.ebuild
X-VCS-Directories: app-misc/mc/files/ app-misc/mc/
X-VCS-Committer: marecki
X-VCS-Committer-Name: Marek Szuba
X-VCS-Revision: 6e09b30342bb353a0c6603325c27a79332c9e66f
X-VCS-Branch: master
Date: Thu, 28 Sep 2023 08:25:14 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: 1a177a20-da08-4339-8bea-8e723f0eff8d
X-Archives-Hash: d25d5b8e163f0e3bf7bc3582db071940

commit:     6e09b30342bb353a0c6603325c27a79332c9e66f
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 28 08:21:30 2023 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Thu Sep 28 08:25:01 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6e09b303

app-misc/mc: backport upstream fix for mcdiff segfaults

Closes: https://bugs.gentoo.org/914724
Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 app-misc/mc/files/mc-4.8.30-mcdiff-segfault.patch  | 36 ++++++++++++++++++++++
 .../mc/{mc-4.8.30.ebuild => mc-4.8.30-r1.ebuild}   |  1 +
 2 files changed, 37 insertions(+)

diff --git a/app-misc/mc/files/mc-4.8.30-mcdiff-segfault.patch b/app-misc/mc/files/mc-4.8.30-mcdiff-segfault.patch
new file mode 100644
index 000000000000..ad752a11816f
--- /dev/null
+++ b/app-misc/mc/files/mc-4.8.30-mcdiff-segfault.patch
@@ -0,0 +1,36 @@
+From dfe3279a365d629ba848f0265108d98d9f12348f Mon Sep 17 00:00:00 2001
+From: Andrew Borodin <aborodin@vmail.ru>
+Date: Sun, 27 Aug 2023 19:32:53 +0300
+Subject: [PATCH] Ticket 4500: mcdiff: segfault when display of line numbers is
+ enabled.
+
+The bug was introduced in 00f84fbf24b5f65381f41c5d6333182bc7921700.
+
+  * (dview_load_options): avoid NULL dereference: don't caclulate the
+    width of line numbers field here because dview->a isn't created yet.
+  * (dview_update): caclulate the width of line numbers field using an
+    actual length of diff lines array.
+
+Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
+--- a/src/diffviewer/ydiff.c
++++ b/src/diffviewer/ydiff.c
+@@ -2366,7 +2366,7 @@ dview_load_options (WDiff * dview)
+         dview->display_symbols = 1;
+     show_numbers = mc_config_get_bool (mc_global.main_config, "DiffView", "show_numbers", FALSE);
+     if (show_numbers)
+-        dview->display_numbers = calc_nwidth ((const GArray * const *) dview->a);
++        dview->display_numbers = 1;
+     tab_size = mc_config_get_int (mc_global.main_config, "DiffView", "tab_size", 8);
+     if (tab_size > 0 && tab_size < 9)
+         dview->tab_size = tab_size;
+@@ -2885,6 +2885,10 @@ dview_update (WDiff * dview)
+     if (height < 2)
+         return;
+ 
++    /* use an actual length of dview->a */
++    if (dview->display_numbers != 0)
++        dview->display_numbers = calc_nwidth ((const GArray * const *) dview->a);
++
+     width1 = dview->half1 + dview->bias;
+     width2 = dview->half2 - dview->bias;
+     if (dview->full)

diff --git a/app-misc/mc/mc-4.8.30.ebuild b/app-misc/mc/mc-4.8.30-r1.ebuild
similarity index 98%
rename from app-misc/mc/mc-4.8.30.ebuild
rename to app-misc/mc/mc-4.8.30-r1.ebuild
index e1576c254b12..8bd59fa87beb 100644
--- a/app-misc/mc/mc-4.8.30.ebuild
+++ b/app-misc/mc/mc-4.8.30-r1.ebuild
@@ -50,6 +50,7 @@ S="${WORKDIR}/${MY_P}"
 PATCHES=(
 	"${FILESDIR}"/${PN}-4.8.26-ncurses-mouse.patch
 	"${FILESDIR}"/${PN}-4.8.29-gentoo-tools.patch
+	"${FILESDIR}"/${PN}-4.8.30-mcdiff-segfault.patch
 )
 
 src_prepare() {