audioc: fix bufsize
authorAndre Noll <maan@systemlinux.org>
Tue, 10 Jul 2007 20:11:58 +0000 (22:11 +0200)
committerAndre Noll <maan@systemlinux.org>
Tue, 10 Jul 2007 20:11:58 +0000 (22:11 +0200)
This bug was introduced in ae0e4594c6a0312c5b4b4c0bde86f9c12253d11b:
We computed the bufsize from the conf struct before initializing it.
Fix is trivial.

audioc.c

index 89b7b17..e20e887 100644 (file)
--- a/audioc.c
+++ b/audioc.c
@@ -68,7 +68,7 @@ int main(int argc, char *argv[])
        int ret = -E_AUDIOC_SYNTAX, fd;
        char *cf, *socket_name, *randname = para_tmpname(), *tmpsocket_name = NULL,
                *buf = NULL, *hn = para_hostname(), *args, *home = para_homedir();
        int ret = -E_AUDIOC_SYNTAX, fd;
        char *cf, *socket_name, *randname = para_tmpname(), *tmpsocket_name = NULL,
                *buf = NULL, *hn = para_hostname(), *args, *home = para_homedir();
-       size_t bufsize = conf.bufsize_arg, loaded = 0;
+       size_t bufsize, loaded = 0;
 
        if (audioc_cmdline_parser(argc, argv, &conf))
                goto out;
 
        if (audioc_cmdline_parser(argc, argv, &conf))
                goto out;
@@ -83,6 +83,7 @@ int main(int argc, char *argv[])
        args = conf.inputs_num?
                concat_args(conf.inputs_num, conf.inputs) :
                para_strdup("stat");
        args = conf.inputs_num?
                concat_args(conf.inputs_num, conf.inputs) :
                para_strdup("stat");
+       bufsize = conf.bufsize_arg;
        buf = para_malloc(bufsize);
        if (conf.socket_given)
                socket_name = para_strdup(conf.socket_arg);
        buf = para_malloc(bufsize);
        if (conf.socket_given)
                socket_name = para_strdup(conf.socket_arg);