raw_color() uses color_str as an output argument which is assigned to a new allocated memory. Therefore it should fail when color_str is null; or when *color_str is not null in order to avoid a memory leak. Fixes: >>> selinux.selinux_raw_context_to_color('system_u:system_r:inetd_t:s0') Traceback (most recent call last): File "<stdin>", line 1, in <module> OSError: [Errno 0] Error Signed-off-by: Petr Lautrbach <plautrba@xxxxxxxxxx> --- mcstrans/src/mcscolor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mcstrans/src/mcscolor.c b/mcstrans/src/mcscolor.c index cc6174bb..6ea1aa97 100644 --- a/mcstrans/src/mcscolor.c +++ b/mcstrans/src/mcscolor.c @@ -292,7 +292,7 @@ int raw_color(const security_context_t raw, char **color_str) { size_t result_size = (N_COLOR * CHARS_PER_COLOR) + 1; int rc = -1; - if (!color_str || !*color_str) { + if (!color_str || *color_str) { return -1; } -- 2.20.0