[phodav: 1/2] server: don't overwrite error in delete enumeration
- From: Marc-André Lureau <malureau src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [phodav: 1/2] server: don't overwrite error in delete enumeration
- Date: Mon, 24 Aug 2020 11:14:09 +0000 (UTC)
commit 223e2f5c9019007ba4c622670de3bd4a533231ae
Author: Jakub Janků <jjanku redhat com>
Date: Sat Aug 22 14:27:05 2020 +0200
server: don't overwrite error in delete enumeration
If g_file_enumerator_next_file() returns NULL and sets error,
the error variable must be cleared before it can be used
with g_file_delete() beneath the while loop.
Otherwise, if g_file_delete() fails as well, the error is
overwritten and GLib complains:
"GError set over the top of a previous GError or uninitialized memory.
This indicates a bug in someone's code.
You must ensure an error is NULL before it's set.
The overwriting error message was: %s"
Signed-off-by: Jakub Janků <jjanku redhat com>
libphodav/phodav-method-delete.c | 6 ++++++
1 file changed, 6 insertions(+)
---
diff --git a/libphodav/phodav-method-delete.c b/libphodav/phodav-method-delete.c
index fd7f88c..3a0a114 100644
--- a/libphodav/phodav-method-delete.c
+++ b/libphodav/phodav-method-delete.c
@@ -61,6 +61,12 @@ phodav_delete_file (const gchar *path, GFile *file,
g_clear_object (&e);
}
+ if (error)
+ {
+ g_warning ("DELETE: enumeration error: %s", error->message);
+ g_clear_error (&error);
+ }
+
if (!g_file_delete (file, cancellable, &error) && mstatus)
{
status = error_to_status (error);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]