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;
openSUSE Build Service is sponsored by