Files
gtk/gtk
Sergey Bugaev 46363b617e urilauncher: Fix use-after-free on GCC < 12
Building GTK with GCC 8 results in the following warning:

  gtk/gtkurilauncher.c: In function ‘gtk_uri_launcher_launch’:
  gtk/gtkurilauncher.c:315:3: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
     else
     ^~~~
  gtk/gtkurilauncher.c:317:1: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’
   G_GNUC_BEGIN_IGNORE_DEPRECATIONS
   ^~~

In the compiled code, gtk_show_uri_full () is invoked whether the portal
branch is taken or not, leading to use-after-free of the task.

It looks like GCC in versions older than 12 treats the _Pragma(s) that
G_GNUC_BEGIN_IGNORE_DEPRECATIONS expands to as C-level statements, and
therefore the pragma takes up the 'else' statement slot.

See https://godbolt.org/z/e5zqbaqxo for a simple reproducer.

Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
2024-07-19 20:36:45 +03:00
..
2023-03-31 15:11:10 -04:00
2024-07-05 13:22:54 +02:00
2024-07-16 10:30:56 +02:00
2024-04-21 21:20:16 -04:00
2023-03-31 15:11:10 -04:00
2023-06-08 19:51:28 -04:00
2024-02-20 12:19:48 -05:00
2023-12-04 07:05:43 +02:00
2024-02-08 23:31:33 -05:00
2024-01-07 20:44:05 -05:00
2024-01-07 20:44:05 -05:00
2023-03-31 15:11:10 -04:00
2023-03-14 14:56:42 -04:00
2023-03-31 15:11:10 -04:00
2023-03-14 14:56:42 -04:00
2023-03-14 14:56:42 -04:00
2023-03-31 15:11:10 -04:00
2023-03-31 15:11:10 -04:00
2023-03-14 14:56:42 -04:00
2023-03-31 15:11:10 -04:00
2024-01-21 14:02:08 -05:00
2023-03-14 14:56:42 -04:00
2024-05-19 17:27:37 -04:00
2023-04-14 15:00:07 +01:00
2022-10-29 10:18:37 -04:00
2024-05-19 17:27:37 -04:00
2024-06-16 13:04:58 -04:00
2023-03-14 14:56:42 -04:00
2024-05-15 20:54:43 -04:00
2023-12-26 21:57:04 -05:00
2024-04-22 18:55:35 +04:00
2024-05-15 20:54:43 -04:00
2024-05-31 11:47:27 +02:00
2023-03-31 15:11:10 -04:00
2023-03-14 14:56:42 -04:00
2024-06-28 14:12:35 -04:00
2023-03-31 15:11:10 -04:00
2023-03-31 15:11:10 -04:00
2023-03-31 15:11:10 -04:00
2024-01-07 20:44:05 -05:00
2023-03-31 15:11:10 -04:00
2024-01-07 20:44:05 -05:00
2023-03-31 15:11:10 -04:00
2023-04-02 20:17:46 -04:00
2022-10-29 13:31:41 -04:00
2023-03-31 15:11:10 -04:00
2023-03-31 15:11:10 -04:00
2023-07-22 16:43:20 -04:00
2024-01-07 20:44:05 -05:00
2023-06-19 22:20:05 -04:00
2024-07-11 13:34:36 +02:00
2023-03-31 15:11:10 -04:00
2023-08-05 03:51:53 +02:00
2023-03-31 15:11:10 -04:00
2024-05-19 17:27:37 -04:00
2023-03-31 15:11:10 -04:00
2024-05-28 16:37:48 +02:00
2024-01-21 14:02:08 -05:00
2024-05-31 11:47:28 +02:00
2024-05-31 11:47:28 +02:00
2023-03-14 14:56:42 -04:00
2023-03-31 15:11:10 -04:00
2023-03-14 14:56:42 -04:00
2023-03-31 15:11:10 -04:00
2023-04-02 19:46:02 -04:00
2023-05-09 17:00:40 +02:00
2023-04-15 05:27:47 +02:00
2024-05-28 16:37:48 +02:00
2023-03-31 15:11:10 -04:00
2024-02-09 22:32:58 -05:00
2024-05-31 11:47:28 +02:00
2023-04-24 11:09:01 +01:00
2023-01-17 07:47:28 -05:00
2023-03-31 15:11:10 -04:00
2023-03-31 15:11:10 -04:00
2023-03-31 15:11:10 -04:00
2023-03-31 15:11:10 -04:00
2024-02-20 12:19:56 -05:00
2024-05-19 17:27:37 -04:00
2023-05-13 12:38:24 -04:00
2023-05-13 12:38:24 -04:00
2023-03-31 15:11:10 -04:00
2024-05-28 16:37:48 +02:00
2023-03-31 15:11:10 -04:00
2023-03-31 15:11:10 -04:00
2023-03-14 14:56:42 -04:00
2023-03-31 15:11:10 -04:00
2023-03-31 15:11:10 -04:00
2024-05-31 11:47:28 +02:00
2024-04-29 00:35:27 -04:00
2024-04-29 00:35:27 -04:00
2024-04-11 14:04:12 +00:00
2023-03-31 15:11:10 -04:00
2023-08-05 03:51:50 +02:00
2023-08-05 03:51:50 +02:00
2023-08-05 03:51:50 +02:00
2023-03-31 15:11:10 -04:00
2023-05-09 17:00:39 +02:00
2023-03-31 15:11:10 -04:00
2024-04-20 20:12:54 -04:00
2023-03-31 15:11:10 -04:00
2023-03-31 15:11:10 -04:00
2023-03-14 14:56:42 -04:00
2023-03-31 15:11:10 -04:00
2024-05-19 17:27:37 -04:00
2023-03-14 14:56:42 -04:00
2024-01-07 20:44:05 -05:00
2023-03-31 15:11:10 -04:00
2023-03-14 14:56:42 -04:00
2023-03-31 15:11:10 -04:00
2023-06-24 03:05:37 +02:00
2023-03-31 15:11:10 -04:00
2023-03-31 15:11:10 -04:00
2023-03-31 15:11:10 -04:00
2023-03-14 14:56:42 -04:00
2023-03-31 15:11:10 -04:00
2024-05-19 17:27:37 -04:00
2023-03-31 15:11:10 -04:00
2023-03-14 14:56:42 -04:00
2023-03-31 15:11:10 -04:00
2023-03-14 14:56:42 -04:00
2024-01-07 20:44:05 -05:00
2024-05-31 11:47:28 +02:00
2023-03-31 15:11:10 -04:00
2023-03-31 15:11:10 -04:00
2024-04-21 22:01:06 -04:00
2023-03-31 15:11:10 -04:00
2023-06-07 07:16:26 -04:00
2023-01-14 17:39:28 -05:00
2023-08-12 23:13:23 +02:00
2024-05-28 16:37:48 +02:00
2023-06-19 08:09:49 -04:00