[gvfs] dav: Use g_try_realloc for output streams



commit 50bb750fe9bcae0d333a1ec40a5d161ab6ba1741
Author: Ross Lagerwall <rosslagerwall gmail com>
Date:   Thu Oct 30 22:25:28 2014 +0000

    dav: Use g_try_realloc for output streams
    
    When writing a large amount to a GMemoryOutputStream, the reallocation
    function can fail.  Use g_try_realloc so that failures generate
    G_IO_ERROR_NO_SPACE rather than abort the process (as happens with
    g_realloc).
    
    https://bugzilla.gnome.org/show_bug.cgi?id=739428

 daemon/gvfsbackenddav.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/daemon/gvfsbackenddav.c b/daemon/gvfsbackenddav.c
index 36a730d..3ace6e1 100644
--- a/daemon/gvfsbackenddav.c
+++ b/daemon/gvfsbackenddav.c
@@ -2304,7 +2304,7 @@ try_create_tested_existence (SoupSession *session, SoupMessage *msg,
    * Doesn't work with apache > 2.2.9
    * soup_message_headers_append (put_msg->request_headers, "If-None-Match", "*");
    */
-  stream = g_memory_output_stream_new (NULL, 0, g_realloc, g_free);
+  stream = g_memory_output_stream_new (NULL, 0, g_try_realloc, g_free);
   g_object_set_data_full (G_OBJECT (stream), "-gvfs-stream-msg", put_msg, g_object_unref);
 
   g_vfs_job_open_for_write_set_handle (G_VFS_JOB_OPEN_FOR_WRITE (job), stream);
@@ -2350,7 +2350,7 @@ open_for_replace_succeeded (GVfsBackendHttp *op_backend, GVfsJob *job,
   if (etag)
     soup_message_headers_append (put_msg->request_headers, "If-Match", etag);
 
-  stream = g_memory_output_stream_new (NULL, 0, g_realloc, g_free);
+  stream = g_memory_output_stream_new (NULL, 0, g_try_realloc, g_free);
   g_object_set_data_full (G_OBJECT (stream), "-gvfs-stream-msg", put_msg, g_object_unref);
 
   g_vfs_job_open_for_write_set_handle (G_VFS_JOB_OPEN_FOR_WRITE (job), stream);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]