File gnutls-fips-sonames-check.patch of Package gnutls
Index: gnutls-3.8.9/lib/fips.c =================================================================== --- gnutls-3.8.9.orig/lib/fips.c +++ gnutls-3.8.9/lib/fips.c @@ -484,18 +484,18 @@ static int callback(struct dl_phdr_info const char *soname = last_component(path); struct lib_paths *paths = (struct lib_paths *)data; - if (!strcmp(soname, GNUTLS_LIBRARY_SONAME)) + if (!strncmp(soname, GNUTLS_LIBRARY_SONAME, strlen(GNUTLS_LIBRARY_SONAME))) _gnutls_str_cpy(paths->gnutls, GNUTLS_PATH_MAX, path); #ifdef NETTLE_LIBRARY_SONAME - else if (!strcmp(soname, NETTLE_LIBRARY_SONAME)) + else if (!strncmp(soname, NETTLE_LIBRARY_SONAME, strlen(NETTLE_LIBRARY_SONAME))) _gnutls_str_cpy(paths->nettle, GNUTLS_PATH_MAX, path); #endif #ifdef HOGWEED_LIBRARY_SONAME - else if (!strcmp(soname, HOGWEED_LIBRARY_SONAME)) + else if (!strncmp(soname, HOGWEED_LIBRARY_SONAME, strlen(HOGWEED_LIBRARY_SONAME))) _gnutls_str_cpy(paths->hogweed, GNUTLS_PATH_MAX, path); #endif #ifdef GMP_LIBRARY_SONAME - else if (!strcmp(soname, GMP_LIBRARY_SONAME)) + else if (!strncmp(soname, GMP_LIBRARY_SONAME, strlen(GMP_LIBRARY_SONAME))) _gnutls_str_cpy(paths->gmp, GNUTLS_PATH_MAX, path); #endif return 0;