File 0031_CVE-2022-3553_Xquartz_dfd057996b26420309c324ec844a5ba6dd07eda3.patch of Package xorg-x11-server

From dfd057996b26420309c324ec844a5ba6dd07eda3 Mon Sep 17 00:00:00 2001
From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Date: Sat, 2 Jul 2022 14:17:18 -0700
Subject: xquartz: Fix a possible crash when editing the Application menu due
 to mutaing immutable arrays

Crashing on exception: -[__NSCFArray replaceObjectAtIndex:withObject:]: mutating method sent to immutable object

Application Specific Backtrace 0:
0   CoreFoundation                      0x00007ff80d2c5e9b __exceptionPreprocess + 242
1   libobjc.A.dylib                     0x00007ff80d027e48 objc_exception_throw + 48
2   CoreFoundation                      0x00007ff80d38167b _CFThrowFormattedException + 194
3   CoreFoundation                      0x00007ff80d382a25 -[__NSCFArray removeObjectAtIndex:].cold.1 + 0
4   CoreFoundation                      0x00007ff80d2e6c0b -[__NSCFArray replaceObjectAtIndex:withObject:] + 119
5   X11.bin                             0x00000001003180f9 -[X11Controller tableView:setObjectValue:forTableColumn:row:] + 169

Fixes: https://github.com/XQuartz/XQuartz/issues/267
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
---
 hw/xquartz/X11Controller.m | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

--- ./hw/xquartz/X11Controller.m	2019-02-02 01:32:47.000000000 -0800
+++ ./hw/xquartz/X11Controller.m.fixed	2023-01-22 12:37:11.265635541 -0800
@@ -474,8 +474,11 @@
         oldapps = table_apps;
 
     table_apps = [[NSMutableArray alloc] initWithCapacity:1];
-    if (apps != nil)
-        [table_apps addObjectsFromArray:apps];
+    if (apps != nil) {
+        for (NSArray <NSString *> * row in apps) {
+            [table_apps addObject:row.mutableCopy];
+        }
+    }
 
     columns = [apps_table tableColumns];
     [[columns objectAtIndex:0] setIdentifier:@"0"];
openSUSE Build Service is sponsored by