[Spice-devel] [server PATCH v2 3/3] replay: do not use argv after g_option_context_parse

Uri Lublin uril at redhat.com
Sun Mar 6 12:25:07 UTC 2016


Apparently, after using g_option_context_parse with G_OPTION_REMAINING
argv is modified and should not be used.
This patch uses "file" instead of "argv" and makes sure
file is freed later.
No free is called upon error - exit takes care of it.

Signed-off-by: Uri Lublin <uril at redhat.com>
Acked-by: Frediano Ziglio <fziglio at redhat.com>
---
 server/tests/replay.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/server/tests/replay.c b/server/tests/replay.c
index 3642f2d..7e4659b 100644
--- a/server/tests/replay.c
+++ b/server/tests/replay.c
@@ -358,12 +358,12 @@ int main(int argc, char **argv)
     } else {
         fd = fopen(file[0], "r");
     }
-    g_strfreev(file);
-    file = NULL;
     if (fd == NULL) {
-        g_printerr("error opening %s\n", argv[1]);
-        return 1;
+        g_printerr("error opening %s\n", file[0]);
+        exit(1);
     }
+    g_strfreev(file);
+    file = NULL;
     if (fcntl(fileno(fd), FD_CLOEXEC) < 0) {
         perror("fcntl failed");
         exit(1);
-- 
2.5.0



More information about the Spice-devel mailing list