diff options
author | tez <tez@pkgsrc.org> | 2010-05-04 20:46:31 +0000 |
---|---|---|
committer | tez <tez@pkgsrc.org> | 2010-05-04 20:46:31 +0000 |
commit | 0f7866bb88260d129e4954333c01046d1ef1c9c3 (patch) | |
tree | 320074c63286c86e1c00c00d788eb755c053b82f /lang | |
parent | 12bca7d44268d642799571a0e076ebd230282e52 (diff) | |
download | pkgsrc-0f7866bb88260d129e4954333c01046d1ef1c9c3.tar.gz |
Add patch to embedded libltdl for CVE-2009-3736 from:
http://lists.gnu.org/archive/html/libtool/2009-11/msg00065.html
Diffstat (limited to 'lang')
-rw-r--r-- | lang/gcc34/Makefile | 4 | ||||
-rw-r--r-- | lang/gcc34/distinfo | 3 | ||||
-rw-r--r-- | lang/gcc34/patches/patch-cd | 93 |
3 files changed, 97 insertions, 3 deletions
diff --git a/lang/gcc34/Makefile b/lang/gcc34/Makefile index 2057d5b9864..5b6599220e3 100644 --- a/lang/gcc34/Makefile +++ b/lang/gcc34/Makefile @@ -1,9 +1,9 @@ -# $NetBSD: Makefile,v 1.44 2010/03/24 19:43:25 asau Exp $ +# $NetBSD: Makefile,v 1.45 2010/05/04 20:46:31 tez Exp $ # DISTNAME= gcc-${GCC_VERSION} PKGNAME= gcc34-${GCC_VERSION} -PKGREVISION= 2 +PKGREVISION= 3 CATEGORIES= lang MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC_VERSION}/} EXTRACT_SUFX= .tar.bz2 diff --git a/lang/gcc34/distinfo b/lang/gcc34/distinfo index 3662b2967ce..176e490ec49 100644 --- a/lang/gcc34/distinfo +++ b/lang/gcc34/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.19 2009/04/22 18:59:54 hasso Exp $ +$NetBSD: distinfo,v 1.20 2010/05/04 20:46:31 tez Exp $ SHA1 (gcc-3.4.6.tar.bz2) = 97b290fdc572c8e490b3b39f243e69bacad23c2b RMD160 (gcc-3.4.6.tar.bz2) = b15003368cedc7964f6ceaee0c39ddc43a46c442 @@ -19,3 +19,4 @@ SHA1 (patch-ba) = 6fc03fc155f630329f7dc831eece6b6464b453a6 SHA1 (patch-bb) = aa088194fb073fcde8d2f558ed55ec36106d60d0 SHA1 (patch-ca) = e04ff912406505abd015789f288ef09a7e1ae386 SHA1 (patch-cc) = 0af9845a62f9a6f8ec27657d0ae0c16394e9fc12 +SHA1 (patch-cd) = a22078951e1369900fcb58a281c75b3a86edd3ea diff --git a/lang/gcc34/patches/patch-cd b/lang/gcc34/patches/patch-cd new file mode 100644 index 00000000000..f3e0517012d --- /dev/null +++ b/lang/gcc34/patches/patch-cd @@ -0,0 +1,93 @@ +$NetBSD: patch-cd,v 1.1 2010/05/04 20:46:31 tez Exp $ +CVE-2009-3736 fix for embedded libltdl + +--- libjava/libltdl/ltdl.c.orig 2010-04-30 10:49:19.822297200 -0500 ++++ libjava/libltdl/ltdl.c 2010-04-30 10:49:34.600872700 -0500 +@@ -2159,7 +2159,8 @@ + static int try_dlopen LT_PARAMS((lt_dlhandle *handle, + const char *filename)); + static int tryall_dlopen LT_PARAMS((lt_dlhandle *handle, +- const char *filename)); ++ const char *filename, ++ const char * useloader)); + static int unload_deplibs LT_PARAMS((lt_dlhandle handle)); + static int lt_argz_insert LT_PARAMS((char **pargz, + size_t *pargz_len, +@@ -2345,9 +2346,10 @@ + } + + static int +-tryall_dlopen (handle, filename) ++tryall_dlopen (handle, filename, useloader) + lt_dlhandle *handle; + const char *filename; ++ const char *useloader; + { + lt_dlhandle cur; + lt_dlloader *loader; +@@ -2414,6 +2416,11 @@ + + while (loader) + { ++ if (useloader && strcmp(loader->loader_name, useloader)) ++ { ++ loader = loader->next; ++ continue; ++ } + lt_user_data data = loader->dlloader_data; + + cur->module = loader->module_open (data, filename); +@@ -2483,7 +2490,7 @@ + error += tryall_dlopen_module (handle, + (const char *) 0, prefix, filename); + } +- else if (tryall_dlopen (handle, filename) != 0) ++ else if (tryall_dlopen (handle, filename, NULL) != 0) + { + ++error; + } +@@ -2504,7 +2511,7 @@ + /* Try to open the old library first; if it was dlpreopened, + we want the preopened version of it, even if a dlopenable + module is available. */ +- if (old_name && tryall_dlopen (handle, old_name) == 0) ++ if (old_name && tryall_dlopen (handle, old_name, "dlpreload") == 0) + { + return 0; + } +@@ -2768,7 +2775,7 @@ + + /* Try to dlopen the file, but do not continue searching in any + case. */ +- if (tryall_dlopen (handle, filename) != 0) ++ if (tryall_dlopen (handle, filename,NULL) != 0) + *handle = 0; + + return 1; +@@ -3053,7 +3060,7 @@ + /* lt_dlclose()ing yourself is very bad! Disallow it. */ + LT_DLSET_FLAG (*phandle, LT_DLRESIDENT_FLAG); + +- if (tryall_dlopen (&newhandle, 0) != 0) ++ if (tryall_dlopen (&newhandle, 0, NULL) != 0) + { + LT_DLFREE (*phandle); + return 1; +@@ -3175,7 +3182,7 @@ + } + #endif + } +- if (!file) ++ else + { + file = fopen (filename, LT_READTEXT_MODE); + } +@@ -3359,7 +3366,7 @@ + #endif + ))) + { +- if (tryall_dlopen (&newhandle, filename) != 0) ++ if (tryall_dlopen (&newhandle, filename, NULL) != 0) + { + newhandle = NULL; + } |