kernelshark/trace-graph: Free up graph info

Have kernelshark call the graph info destructor.
Have the graph info destructor free the lists.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
diff --git a/kernel-shark.c b/kernel-shark.c
index 50e2659..784cb99 100644
--- a/kernel-shark.c
+++ b/kernel-shark.c
@@ -116,6 +116,7 @@
 static void free_info(struct shark_info *info)
 {
 	tracecmd_close(info->handle);
+	trace_graph_free_info(info->ginfo);
 	free(info->ginfo);
 	free(info);
 }
diff --git a/trace-graph.c b/trace-graph.c
index 7797210..3440497 100644
--- a/trace-graph.c
+++ b/trace-graph.c
@@ -2039,7 +2039,10 @@
 
 void trace_graph_free_info(struct graph_info *ginfo)
 {
-	tracecmd_close(ginfo->handle);
+	if (ginfo->handle) {
+		trace_graph_plot_free(ginfo);
+		tracecmd_close(ginfo->handle);
+	}
 	ginfo->handle = NULL;
 }
 
@@ -2053,11 +2056,8 @@
 	if (!handle)
 		return -1;
 
-	trace_graph_plot_free(ginfo);
 	trace_graph_plot_init(ginfo);
-
-	if (ginfo->handle)
-		trace_graph_free_info(ginfo);
+	trace_graph_free_info(ginfo);
 
 	ginfo->handle = handle;
 	tracecmd_ref(handle);