Re: [cp-patches] [RFC PATCH 1/4] Handle malloc() failure in java_util_VMTimeZone.c file.
On Mon, Oct 15, 2012 at 12:59 PM, Andrew Hughes wrote: >> @@ -170,6 +171,12 @@ Java_java_util_VMTimeZone_getSystemTimeZoneId >> (JNIEnv * env, >>tz2_len = strlen (tz2); >>tzoff_len = jint_to_charbuf (tzoff + 11, tzoffset); >>tzid = (char *) malloc (tz1_len + tz2_len + tzoff_len + 1);/* >>FIXME alloc */ >> + if (tzid == NULL) { >> +JCL_ThrowException (env, "java/lang/OutOfMemoryError", >> +"malloc() failed"); >> +return 0; >> + } >> + >>memcpy (tzid, tz1, tz1_len); >>memcpy (tzid + tz1_len, tzoff + 11 - tzoff_len, tzoff_len); >>memcpy (tzid + tz1_len + tzoff_len, tz2, tz2_len); > > Can the FIXME now be dropped? Fixed.
Re: [cp-patches] [RFC PATCH 1/4] Handle malloc() failure in java_util_VMTimeZone.c file.
- Original Message - > From: Ivan Maidanski > > 2011-07-20 Ivan Maidanski > > * native/jni/java-util/java_util_VMTimeZone.c: > Include jcl.h file. > (Java_java_util_VMTimeZone_getSystemTimeZoneId): Throw > OutOfMemoryException in case of malloc() failure. > --- > ChangeLog |7 +++ > native/jni/java-util/java_util_VMTimeZone.c |7 +++ > 2 files changed, 14 insertions(+), 0 deletions(-) > > diff --git a/ChangeLog b/ChangeLog > index 18b6c03..c0d84cd 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,3 +1,10 @@ > +2011-07-20 Ivan Maidanski > + > + * native/jni/java-util/java_util_VMTimeZone.c: > + Include jcl.h file. > + (Java_java_util_VMTimeZone_getSystemTimeZoneId): Throw > + OutOfMemoryException in case of malloc() failure. > + > 2012-06-10 Ivan Maidanski > > * compat/.gitignore, > diff --git a/native/jni/java-util/java_util_VMTimeZone.c > b/native/jni/java-util/java_util_VMTimeZone.c > index a3a986d..1c4c0cf 100644 > --- a/native/jni/java-util/java_util_VMTimeZone.c > +++ b/native/jni/java-util/java_util_VMTimeZone.c > @@ -53,6 +53,7 @@ exception statement from your version. */ > #include > > #include > +#include > > #include "java_util_VMTimeZone.h" > > @@ -170,6 +171,12 @@ Java_java_util_VMTimeZone_getSystemTimeZoneId > (JNIEnv * env, >tz2_len = strlen (tz2); >tzoff_len = jint_to_charbuf (tzoff + 11, tzoffset); >tzid = (char *) malloc (tz1_len + tz2_len + tzoff_len + 1);/* >FIXME alloc */ > + if (tzid == NULL) { > +JCL_ThrowException (env, "java/lang/OutOfMemoryError", > +"malloc() failed"); > +return 0; > + } > + >memcpy (tzid, tz1, tz1_len); >memcpy (tzid + tz1_len, tzoff + 11 - tzoff_len, tzoff_len); >memcpy (tzid + tz1_len + tzoff_len, tz2, tz2_len); > -- > 1.7.7.6 > > > Can the FIXME now be dropped? -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07
[cp-patches] [RFC PATCH 1/4] Handle malloc() failure in java_util_VMTimeZone.c file.
From: Ivan Maidanski 2011-07-20 Ivan Maidanski * native/jni/java-util/java_util_VMTimeZone.c: Include jcl.h file. (Java_java_util_VMTimeZone_getSystemTimeZoneId): Throw OutOfMemoryException in case of malloc() failure. --- ChangeLog |7 +++ native/jni/java-util/java_util_VMTimeZone.c |7 +++ 2 files changed, 14 insertions(+), 0 deletions(-) diff --git a/ChangeLog b/ChangeLog index 18b6c03..c0d84cd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2011-07-20 Ivan Maidanski + + * native/jni/java-util/java_util_VMTimeZone.c: + Include jcl.h file. + (Java_java_util_VMTimeZone_getSystemTimeZoneId): Throw + OutOfMemoryException in case of malloc() failure. + 2012-06-10 Ivan Maidanski * compat/.gitignore, diff --git a/native/jni/java-util/java_util_VMTimeZone.c b/native/jni/java-util/java_util_VMTimeZone.c index a3a986d..1c4c0cf 100644 --- a/native/jni/java-util/java_util_VMTimeZone.c +++ b/native/jni/java-util/java_util_VMTimeZone.c @@ -53,6 +53,7 @@ exception statement from your version. */ #include #include +#include #include "java_util_VMTimeZone.h" @@ -170,6 +171,12 @@ Java_java_util_VMTimeZone_getSystemTimeZoneId (JNIEnv * env, tz2_len = strlen (tz2); tzoff_len = jint_to_charbuf (tzoff + 11, tzoffset); tzid = (char *) malloc (tz1_len + tz2_len + tzoff_len + 1); /* FIXME alloc */ + if (tzid == NULL) { +JCL_ThrowException (env, "java/lang/OutOfMemoryError", +"malloc() failed"); +return 0; + } + memcpy (tzid, tz1, tz1_len); memcpy (tzid + tz1_len, tzoff + 11 - tzoff_len, tzoff_len); memcpy (tzid + tz1_len + tzoff_len, tz2, tz2_len); -- 1.7.7.6