diff options
Diffstat (limited to 'recipes/mozilla/nss-3.12/90_realpath.dpatch')
-rw-r--r-- | recipes/mozilla/nss-3.12/90_realpath.dpatch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/recipes/mozilla/nss-3.12/90_realpath.dpatch b/recipes/mozilla/nss-3.12/90_realpath.dpatch new file mode 100644 index 0000000000..46e12d05b0 --- /dev/null +++ b/recipes/mozilla/nss-3.12/90_realpath.dpatch @@ -0,0 +1,29 @@ +Index: mozilla/security/nss/lib/freebl/genload.c +=================================================================== +--- mozilla.orig/security/nss/lib/freebl/genload.c 2008-07-23 20:20:36.000000000 +0200 ++++ mozilla/security/nss/lib/freebl/genload.c 2008-07-23 20:20:39.000000000 +0200 +@@ -62,6 +62,16 @@ + */ + static char* loader_GetOriginalPathname(const char* link) + { ++#ifdef __GLIBC__ ++ char* tmp = realpath(link, NULL); ++ char* resolved; ++ if (! tmp) ++ return NULL; ++ resolved = PR_Malloc(strlen(tmp) + 1); ++ strcpy(resolved, tmp); /* This is necessary because PR_Free might not be using free() */ ++ free(tmp); ++ return resolved; ++#else + char* resolved = NULL; + char* input = NULL; + PRUint32 iterations = 0; +@@ -96,6 +106,7 @@ + input = NULL; + } + return input; ++#endif + } + #endif /* XP_UNIX */ + |