]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-cpu-set-util: fix allocation size check on i386 12734/head
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 4 Jun 2019 07:40:38 +0000 (09:40 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 4 Jun 2019 07:40:38 +0000 (09:40 +0200)
We get just 28 bytes not 32 as on 64-bit architectures (__cpu_set_t is 4 bytes,
we need at least 26, so 28 satisfies the constraints).

src/test/test-cpu-set-util.c

index b04c31481031d02f4d3762e70309fa5f92053b73..e1dd2eb32bae62c1ef3722c2e7b888bbe7eb828d 100644 (file)
@@ -254,7 +254,9 @@ static void test_cpu_set_to_from_dbus(void) {
         assert_se(array);
         assert_se(allocated == c.allocated);
 
-        assert(memcmp(array, expected, sizeof expected) == 0);
+        assert_se(allocated <= sizeof expected);
+        assert_se(allocated >= DIV_ROUND_UP(201u, 8u)); /* We need at least 201 bits for our mask */
+        assert(memcmp(array, expected, allocated) == 0);
 
         assert_se(cpu_set_from_dbus(array, allocated, &c2) == 0);
         assert_se(c2.set);