diff options
author | Koen Kooi <koen@openembedded.org> | 2008-06-10 22:05:00 +0000 |
---|---|---|
committer | Koen Kooi <koen@openembedded.org> | 2008-06-10 22:05:00 +0000 |
commit | 8993f246c593e78038f7422c24897bfd16348945 (patch) | |
tree | b4a9ca8f6b8aade32e15e5e56b23d647442b744f /packages/gcc/gcc-4.3.1/debian/libjava-realloc-leak.dpatch | |
parent | 0985e00d9608d3f197772046763e03a00a72cd5e (diff) |
gcc 4.3.0: replace with gcc 4.3.1
Diffstat (limited to 'packages/gcc/gcc-4.3.1/debian/libjava-realloc-leak.dpatch')
-rw-r--r-- | packages/gcc/gcc-4.3.1/debian/libjava-realloc-leak.dpatch | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/packages/gcc/gcc-4.3.1/debian/libjava-realloc-leak.dpatch b/packages/gcc/gcc-4.3.1/debian/libjava-realloc-leak.dpatch new file mode 100644 index 0000000000..6bf7a7310f --- /dev/null +++ b/packages/gcc/gcc-4.3.1/debian/libjava-realloc-leak.dpatch @@ -0,0 +1,79 @@ +#! /bin/sh -e + +# DP: Don't leak upon failed realloc (taken from the trunk). + +dir= +if [ $# -eq 3 -a "$2" = '-d' ]; then + pdir="-d $3" + dir="$3/" +elif [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) + patch $pdir -f --no-backup-if-mismatch -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +libjava/ + +2008-03-10 Jim Meyering <meyering@redhat.com> + + Don't leak upon failed realloc. + * gnu/classpath/natSystemProperties.cc + (SystemProperties::insertSystemProperties): + +libjava/classpath/ + +2008-03-10 Jim Meyering <meyering@redhat.com> + + Don't leak upon failed realloc. + * native/jni/classpath/jcl.c (JCL_realloc): Upon failed realloc, + free the original buffer before throwing the exception. + +Index: libjava/classpath/native/jni/classpath/jcl.c +=================================================================== +--- libjava/classpath/native/jni/classpath/jcl.c (revision 133093) ++++ libjava/classpath/native/jni/classpath/jcl.c (revision 133094) +@@ -1,5 +1,5 @@ + /* jcl.c +- Copyright (C) 1998, 2005, 2006 Free Software Foundation, Inc. ++ Copyright (C) 1998, 2005, 2006, 2008 Free Software Foundation, Inc. + + This file is part of GNU Classpath. + +@@ -152,9 +152,11 @@ + JNIEXPORT void *JNICALL + JCL_realloc (JNIEnv * env, void *ptr, size_t size) + { ++ void *orig_ptr = ptr; + ptr = realloc (ptr, size); + if (ptr == 0) + { ++ free (orig_ptr); + JCL_ThrowException (env, "java/lang/OutOfMemoryError", + "malloc() failed."); + return NULL; +Index: libjava/gnu/classpath/natSystemProperties.cc +=================================================================== +--- libjava/gnu/classpath/natSystemProperties.cc (revision 133093) ++++ libjava/gnu/classpath/natSystemProperties.cc (revision 133094) +@@ -270,7 +270,10 @@ + if (errno != ERANGE) + break; + buflen = 2 * buflen; ++ char *orig_buf = buffer; + buffer = (char *) realloc (buffer, buflen); ++ if (buffer == NULL) ++ free (orig_buf); + } + if (buffer != NULL) + free (buffer); |