console-server: Call ringbuffer_fini() to mitigate leak report
Running obmc-console-server under valgrind yields:
```
==256429== 131,112 bytes in 1 blocks are definitely lost in loss record 2 of 2
==256429== at 0x48407B4: malloc (vg_replace_malloc.c:381)
==256429== by 0x10F3FC: ringbuffer_init (ringbuffer.c:33)
==256429== by 0x10E61E: main (console-server.c:984)
```
Add the missing call to ringbuffer_fini() in the exit path.
Change-Id: I39b9a652a0565de73446f5ec7bfeac4bbc2281d8
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
diff --git a/console-server.c b/console-server.c
index d71c63a..83f7e50 100644
--- a/console-server.c
+++ b/console-server.c
@@ -982,17 +982,21 @@
}
}
console->rb = ringbuffer_init(buffer_size);
+ if (!console->rb) {
+ rc = -1;
+ goto out_config_fini;
+ }
if (set_socket_info(console, config, console_id)) {
rc = -1;
- goto out_config_fini;
+ goto out_ringbuffer_fini;
}
uart_routing_init(config);
rc = tty_init(console, config, config_tty_kname);
if (rc) {
- goto out_config_fini;
+ goto out_ringbuffer_fini;
}
dbus_init(console, config);
@@ -1005,6 +1009,9 @@
tty_fini(console);
+out_ringbuffer_fini:
+ ringbuffer_fini(console->rb);
+
out_config_fini:
config_fini(config);