diff --git a/libselinux-2.0.59/src/setrans_client.c b/libselinux-2.0.59/src/setrans_client.c index 1426e98..a2d0d34 100644 --- a/libselinux-2.0.59/src/setrans_client.c +++ b/libselinux-2.0.59/src/setrans_client.c @@ -217,6 +217,12 @@ hidden void fini_context_translations(void) hidden int init_context_translations(void) { mls_enabled = is_selinux_mls_enabled(); + // set initial values to work around crash from very late first reference in fini. + // The "static __thread .. = NULL" initialization isn't working. + prev_r2t_trans = NULL; + prev_r2t_raw = NULL; + prev_t2r_trans = NULL; + prev_t2r_raw = NULL; return 0; }