mirror of
				https://gitlab.gnome.org/GNOME/glib.git
				synced 2025-10-31 16:32:18 +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:
		| @@ -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)) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user