From 0c1603debac440978c1d55c46cb11059f8350b35 Mon Sep 17 00:00:00 2001 From: Colin Walters <walters@verbum.org> Date: Tue, 21 Feb 2017 09:30:19 -0500 Subject: [PATCH] tests/xattrs: Fix possible NULL allocation This showed up in the ostree runs with `-fsanitize=undefined` - if we happened to get `0` then `g_malloc` would return `NULL`. However, what's interesting is it seemed to happen *consistently*. I think what's going on is GCC proved that the value *could* be zero, and hence it *could* return NULL, and hence it was undefined behavior. Hooray for `-fsanitize=undefined`. --- tests/test-libglnx-xattrs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test-libglnx-xattrs.c b/tests/test-libglnx-xattrs.c index 9a398701c..21bdbdb01 100644 --- a/tests/test-libglnx-xattrs.c +++ b/tests/test-libglnx-xattrs.c @@ -42,7 +42,7 @@ static gboolean set_random_xattr_value (int fd, const char *name, GError **error) { const guint8 randxattrbyte = g_random_int_range (0, 256); - const guint32 randxattrvalue_len = g_random_int () % 256; /* Picked to be not too small or large */ + const guint32 randxattrvalue_len = (g_random_int () % 256) + 1; /* Picked to be not too small or large */ g_autofree char *randxattrvalue = g_malloc (randxattrvalue_len); memset (randxattrvalue, randxattrbyte, randxattrvalue_len); -- GitLab