tinyds: enable protocol_trace only when protocol_trace_init() returns true 22/283322/2
authorduna.oh <duna.oh@samsung.com>
Fri, 21 Oct 2022 08:23:24 +0000 (17:23 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Mon, 24 Oct 2022 07:47:45 +0000 (07:47 +0000)
This fixes segfault when rule file doen't exist and
protocol_trace_init() returns false.

Change-Id: I3785fb664c87c13d717556f7219760bc32dc1afb

examples/protocol-trace.c
examples/tinyds-tdm.c

index d57e3c2..7975b0d 100644 (file)
@@ -1516,6 +1516,8 @@ rule_init(char *rule_path)
     ds_dbg("rule_path = %s", rule_path);
 
     ret = rule_set(argc, (const char**)&(argv[0]), reply, len);
+    if (!ret) return ret;
+
     ds_inf("%s", &tmpReply);
 
     return ret;
index b64271e..abed3ab 100644 (file)
@@ -1013,10 +1013,8 @@ init_server(struct tinyds_server *server, struct wl_display *display)
     if (!add_new_input_method(server))
         goto err;
 
-    if (!protocol_trace_init(display))
-        goto err;
-
-    protocol_trace_enable(true);
+    if (protocol_trace_init(display))
+        protocol_trace_enable(true);
 
     return true;