test-kdbus: fixed unterminated string
authorJacek Janczyk <j.janczyk@samsung.com>
Mon, 12 May 2014 13:35:08 +0000 (15:35 +0200)
committerKay Sievers <kay@vrfy.org>
Thu, 15 May 2014 21:48:44 +0000 (23:48 +0200)
Unterminated string array is used to populate random bus name
in check_prepare_env(). Added proper termination.

Signed-off-by: Jacek Janczyk <j.janczyk@samsung.com>
test/test-kdbus.c

index e369b4e6b54448ae17d56dfeda8169aeff7d7055..f0bf7051a7566b6a3657ceba70e1d7dcba497cd5 100644 (file)
@@ -1042,7 +1042,7 @@ static int check_prepare_env(const struct kdbus_check *c, struct kdbus_check_env
                        char name[64];
                } bus_make;
                unsigned int i;
-               char n[32];
+               char n[32 + 1];
                int ret;
 
                env->control_fd = open("/dev/" KBUILD_MODNAME "/control", O_RDWR|O_CLOEXEC);
@@ -1054,8 +1054,9 @@ static int check_prepare_env(const struct kdbus_check *c, struct kdbus_check_env
                bus_make.bs.bloom.size = 64;
                bus_make.bs.bloom.n_hash = 1;
 
-               for (i = 0; i < sizeof(n); i++)
+               for (i = 0; i < sizeof(n) - 1; i++)
                        n[i] = 'a' + (random() % ('z' - 'a'));
+               n[sizeof(n) - 1] = 0;
 
                snprintf(bus_make.name, sizeof(bus_make.name), "%u-%s", getuid(), n);