[gnome-builder] subprocess: be defensive about invalid streams



commit 7f32be53b8e20ea97abe6b52ffe0dfa344e91417
Author: Christian Hergert <chergert redhat com>
Date:   Sun Mar 19 05:13:09 2017 -0700

    subprocess: be defensive about invalid streams
    
    Ensure we give a proper buffer back even if we somehow got here
    internally inconsistently. This is happening with some issues where we
    cannot execute the process correctly (which we need to track down).

 libide/subprocess/ide-breakout-subprocess.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)
---
diff --git a/libide/subprocess/ide-breakout-subprocess.c b/libide/subprocess/ide-breakout-subprocess.c
index 8fdc1d5..33f6753 100644
--- a/libide/subprocess/ide-breakout-subprocess.c
+++ b/libide/subprocess/ide-breakout-subprocess.c
@@ -864,9 +864,14 @@ ide_breakout_subprocess_communicate_finish (IdeSubprocess  *subprocess,
   if (success)
     {
       if (stdout_buf)
-        *stdout_buf = g_memory_output_stream_steal_as_bytes (state->stdout_buf);
+        *stdout_buf = state->stdout_buf ?
+                      g_memory_output_stream_steal_as_bytes (state->stdout_buf) :
+                      g_bytes_new (NULL, 0);
+
       if (stderr_buf)
-        *stderr_buf = g_memory_output_stream_steal_as_bytes (state->stderr_buf);
+        *stderr_buf = state->stderr_buf ?
+                      g_memory_output_stream_steal_as_bytes (state->stderr_buf) :
+                      g_bytes_new (NULL, 0);
     }
 
   g_object_unref (task);


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