mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-26 22:16:16 +01:00
gerror: Don't leak memory when overwrite warning
Even though we can't always make no-leak guarantees when g_warning() in this case we're testing this behavior in tests, and it would be good to be able to valgrind this. https://bugzilla.gnome.org/show_bug.cgi?id=711751
This commit is contained in:
parent
e74b4351a3
commit
ab3c55435a
@ -563,7 +563,10 @@ g_set_error (GError **err,
|
||||
if (*err == NULL)
|
||||
*err = new;
|
||||
else
|
||||
g_warning (ERROR_OVERWRITTEN_WARNING, new->message);
|
||||
{
|
||||
g_warning (ERROR_OVERWRITTEN_WARNING, new->message);
|
||||
g_error_free (new);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -619,7 +622,10 @@ g_propagate_error (GError **dest,
|
||||
else
|
||||
{
|
||||
if (*dest != NULL)
|
||||
g_warning (ERROR_OVERWRITTEN_WARNING, src->message);
|
||||
{
|
||||
g_warning (ERROR_OVERWRITTEN_WARNING, src->message);
|
||||
g_error_free (src);
|
||||
}
|
||||
else
|
||||
*dest = src;
|
||||
}
|
||||
|
@ -28,10 +28,7 @@ test_overwrite (void)
|
||||
g_test_assert_expected_messages ();
|
||||
|
||||
g_assert_error (dest, G_MARKUP_ERROR, G_MARKUP_ERROR_EMPTY);
|
||||
g_assert_error (src, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE);
|
||||
g_error_free (dest);
|
||||
g_error_free (src);
|
||||
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user