tests: fix possible segfault in cpu-remap-test
authorSascha Silbe <sascha-pgp@silbe.org>
Fri, 8 Mar 2019 09:32:19 +0000 (10:32 +0100)
committerArun Raghavan <arun@arunraghavan.net>
Fri, 29 Mar 2019 06:04:28 +0000 (06:04 +0000)
pa_init_remap_func() takes care to initialise pa_remap_t.do_remap to
NULL before calling init_remap_func (the CPU-specific remap init
function) and invokes init_remap_c if init_remap_func did not set
pa_remap_t.do_remap to non-NULL. remap_init_test_channels() calls
init_remap_func() directly so it must make sure pa_remap_t.do_remap is
set to NULL. Otherwise we'll end up with a random value in
pa_remap_t.do_remap if there is no CPU-optimised remap function for the
current operation.

src/tests/cpu-remap-test.c

index c4eec45..b4b70b8 100644 (file)
@@ -212,7 +212,7 @@ static void remap_init_test_channels(
         unsigned out_channels,
         bool rearrange) {
 
-    pa_remap_t remap_orig, remap_func;
+    pa_remap_t remap_orig = {0}, remap_func = {0};
 
     setup_remap_channels(&remap_orig, f, in_channels, out_channels, rearrange);
     orig_init_func(&remap_orig);