mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-11 15:06:14 +01:00
gapplication: fix arguments leak in error path
If this g_return_val_if_fail() is ever hit, then we leak arguments. This is not very important because if your code hits g_return_val_if_fail() you are invoking undefined behavior, a rather more serious problem, but let's replace it with g_critical() to be robust. This includes a small behavior change: it returns 1 rather than 0 in this error case. Found by Coverity.
This commit is contained in:
parent
e2f2706539
commit
65b4bc30eb
@ -2524,7 +2524,12 @@ g_application_run (GApplication *application,
|
||||
|
||||
context = g_main_context_default ();
|
||||
acquired_context = g_main_context_acquire (context);
|
||||
g_return_val_if_fail (acquired_context, 0);
|
||||
if (!acquired_context)
|
||||
{
|
||||
g_critical ("g_application_run() cannot acquire the default main context because it is already acquired by another thread!");
|
||||
g_strfreev (arguments);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (!G_APPLICATION_GET_CLASS (application)
|
||||
->local_command_line (application, &arguments, &status))
|
||||
|
Loading…
Reference in New Issue
Block a user