]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
[fs_cli] Fix unchecked tainted data.
authorAndrey Volk <andywolk@gmail.com>
Wed, 20 Nov 2019 07:38:27 +0000 (11:38 +0400)
committerAndrey Volk <andywolk@gmail.com>
Mon, 30 Dec 2019 21:01:45 +0000 (01:01 +0400)
libs/esl/fs_cli.c

index fd6153e091165856ebf984b49589852aba78ce0c..b63fdd845ae1b0305abc6daa69816e0bf86c2791 100644 (file)
@@ -1002,10 +1002,13 @@ static const char *basic_gets(int *cnt)
        for (x = 0; x < (sizeof(command_buf) - 1); x++) {
                int c = getchar();
                if (c < 0) {
+                       size_t command_buf_len;
                        if (fgets(command_buf, sizeof(command_buf) - 1, stdin) != command_buf) {
                                break;
+                       }                       
+                       if ((command_buf_len = strlen(command_buf)) > 0) {
+                               command_buf[command_buf_len - 1] = '\0'; /* remove endline */
                        }
-                       command_buf[strlen(command_buf)-1] = '\0'; /* remove endline */
                        break;
                }
                command_buf[x] = (char) c;