Mercurial > hg > release > icedtea6-1.4
changeset 1219:9aae858397f9
Fix a mistake in previous commit re: integer overflow.
author | Deepak Bhole <dbhole@redhat.com> |
---|---|
date | Fri, 21 Nov 2008 18:35:27 -0500 |
parents | b8307e2d80a5 |
children | d1ff3aff9167 |
files | ChangeLog IcedTeaPlugin.cc |
diffstat | 2 files changed, 14 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Fri Nov 21 22:48:56 2008 +0100 +++ b/ChangeLog Fri Nov 21 18:35:27 2008 -0500 @@ -1,3 +1,7 @@ +2008-11-21 Deepak Bhole <dbhole@redhat.com> + + * IcedTeaPlugin.cc: Fix a mistake in previous commit re: integer overflow. + 2008-11-21 Mark Wielaard <mark@klomp.org> * patches/icedtea-stroker-finish.patch: New patch.
--- a/IcedTeaPlugin.cc Fri Nov 21 22:48:56 2008 +0100 +++ b/IcedTeaPlugin.cc Fri Nov 21 18:35:27 2008 -0500 @@ -4638,6 +4638,7 @@ PLUGIN_TRACE_JNIENV (); nsCString retstr (""); + char* longVal = (char*) malloc(sizeof(char)*20); switch (type) { case jboolean_type: @@ -4656,7 +4657,8 @@ retstr.AppendInt (value.i); break; case jlong_type: - retstr += IcedTeaPrintfCString ("%ld", value.j); + sprintf(longVal, "%"PRId64, value.j); + retstr += longVal; break; case jfloat_type: retstr += IcedTeaPrintfCString ("%f", value.f); @@ -4673,6 +4675,8 @@ break; } + free(longVal); + // Freed by calling function. return strdup (retstr.get ()); } @@ -4762,6 +4766,7 @@ // Method. int arg = 0; char* fl; + char* longVal = (char*) malloc(sizeof(char)*20); while (id->signature[i] != stopchar) { switch (id->signature[i]) @@ -4785,7 +4790,8 @@ retstr.AppendInt (args[arg].i); break; case 'J': - retstr += IcedTeaPrintfCString ("%ld", args[arg].j); + sprintf(longVal, "%"PRId64, args[arg].j); + retstr += longVal; break; case 'F': retstr += IcedTeaPrintfCString ("%f", args[arg].f); @@ -4833,6 +4839,8 @@ arg++; } + free(longVal); + // Freed by calling function. return strdup (retstr.get ()); }