From: Ivan Maidanski <iv...@mail.ru> 2011-07-20 Ivan Maidanski <iv...@mail.ru>
* 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 <iv...@mail.ru> + + * 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 <iv...@mail.ru> * 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 <stdlib.h> #include <jni.h> +#include <jcl.h> #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