Evita SEGFAULT com linha em branco.
authorThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Fri, 12 Jun 2015 00:02:13 +0000 (21:02 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Sat, 13 Jun 2015 13:22:51 +0000 (13:22 +0000)
Com uma linha em branco, o primeiro argumento aponta para NULL, causando
um SEGFAULT quando pmhash_get é chamado.

cmd.c

diff --git a/cmd.c b/cmd.c
index 65398de..ad186a2 100644 (file)
--- a/cmd.c
+++ b/cmd.c
@@ -43,7 +43,7 @@ int cmd_run(struct declaracao *dec, char *line)
        struct cmd *cmd;
        int r;
        int argc;
-       if (!args)
+       if (!args || !args[0])
                return -errno;
        for (argc = 0; args[argc]; argc++);
        cmd = pmhash_get(cmds, args[0]);