It is not necessary to call an external binary to clear the screen of a default unix terminal emulator. The external call using system("clear") may be used by an attacker to get untrusted code called with an higher privilege because batctl has to be run as using uid 0.
Reported-by: Antonio Quartulli ordex@autistici.org Signed-off-by: Sven Eckelmann sven@narfation.org --- functions.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/functions.c b/functions.c index c78e408..1d737fa 100644 --- a/functions.c +++ b/functions.c @@ -184,7 +184,7 @@ open: }
if (read_opt & CLR_CONT_READ) - system("clear"); + printf("\033[2J\033[0;0f");
read: while (getline(&line_ptr, &len, fp) != -1) {