Commit 61a36e0d by Kyle Galloway Committed by Kyle Galloway

jvmti.cc (_Jv_JVMTI_GetLocalVariableTable): Fix _Jv_Malloc parameters.

2007-03-06  Kyle Galloway  <kgallowa@redhat.com>
	* jvmti.cc(_Jv_JVMTI_GetLocalVariableTable): Fix _Jv_Malloc parameters.
	* testsuite/libjava.jvmti/interp/natgetlocalvartable.cc
	(do_getlocalvartable_tests): Add Deallocate calls to free strings.

From-SVN: r122630
parent 4ba851b5
2007-03-06 Kyle Galloway <kgallowa@redhat.com>
* jvmti.cc(_Jv_JVMTI_GetLocalVariableTable): Fix _Jv_Malloc parameters.
* testsuite/libjava.jvmti/interp/natgetlocalvartable.cc
(do_getlocalvartable_tests): Add Deallocate calls to free strings.
2007-03-05 Matthias Klose <doko@debian.org> 2007-03-05 Matthias Klose <doko@debian.org>
* Makefile.am (gij_LDFLAGS): Use dbexecdir. * Makefile.am (gij_LDFLAGS): Use dbexecdir.
......
...@@ -997,23 +997,23 @@ _Jv_JVMTI_GetLocalVariableTable (MAYBE_UNUSED jvmtiEnv *env, jmethodID method, ...@@ -997,23 +997,23 @@ _Jv_JVMTI_GetLocalVariableTable (MAYBE_UNUSED jvmtiEnv *env, jmethodID method,
table_slot) table_slot)
>= 0) >= 0)
{ {
char **str_ptr = &(*locals)[table_slot].name;
jerr = env->Allocate (static_cast<jlong> (strlen (name) + 1), jerr = env->Allocate (static_cast<jlong> (strlen (name) + 1),
reinterpret_cast<unsigned char **> reinterpret_cast<unsigned char **> (str_ptr));
(&(*locals)[table_slot].name));
if (jerr != JVMTI_ERROR_NONE) if (jerr != JVMTI_ERROR_NONE)
return jerr; return jerr;
strcpy ((*locals)[table_slot].name, name); strcpy ((*locals)[table_slot].name, name);
jerr = env->Allocate (static_cast<jlong> (strlen (name) + 1), str_ptr = &(*locals)[table_slot].signature;
reinterpret_cast<unsigned char **> jerr = env->Allocate (static_cast<jlong> (strlen (sig) + 1),
(&(*locals)[table_slot].signature)); reinterpret_cast<unsigned char **> (str_ptr));
if (jerr != JVMTI_ERROR_NONE) if (jerr != JVMTI_ERROR_NONE)
return jerr; return jerr;
strcpy ((*locals)[table_slot].signature, sig); strcpy ((*locals)[table_slot].signature, sig);
jerr = env->Allocate (static_cast<jlong> (strlen (name) + 1), str_ptr = &(*locals)[table_slot].generic_signature;
reinterpret_cast<unsigned char **> jerr = env->Allocate (static_cast<jlong> (strlen (generic_sig) + 1),
(&(*locals)[table_slot].generic_signature)); reinterpret_cast<unsigned char **> (str_ptr));
if (jerr != JVMTI_ERROR_NONE) if (jerr != JVMTI_ERROR_NONE)
return jerr; return jerr;
strcpy ((*locals)[table_slot].generic_signature, generic_sig); strcpy ((*locals)[table_slot].generic_signature, generic_sig);
......
...@@ -53,8 +53,11 @@ JNIEXPORT jint JNICALL Java_getlocalvartable_do_1getlocalvartable_1tests ...@@ -53,8 +53,11 @@ JNIEXPORT jint JNICALL Java_getlocalvartable_do_1getlocalvartable_1tests
{ {
printf ("Slot: %d\n", static_cast<int> (var_table[j].slot)); printf ("Slot: %d\n", static_cast<int> (var_table[j].slot));
printf (" Name: %s\n", var_table[j].name); printf (" Name: %s\n", var_table[j].name);
jvmti->Deallocate (reinterpret_cast<unsigned char *> (var_table[j].name));
printf (" Sig: %s\n", var_table[j].signature); printf (" Sig: %s\n", var_table[j].signature);
jvmti->Deallocate (reinterpret_cast<unsigned char *> (var_table[j].signature));
printf (" Gen Sig: %s\n", var_table[j].generic_signature); printf (" Gen Sig: %s\n", var_table[j].generic_signature);
jvmti->Deallocate (reinterpret_cast<unsigned char *> (var_table[j].generic_signature));
printf (" Start Loc: %ld\n", static_cast<long> (var_table[j].start_location)); printf (" Start Loc: %ld\n", static_cast<long> (var_table[j].start_location));
printf (" Length: %d\n", static_cast<int> (var_table[j].length)); printf (" Length: %d\n", static_cast<int> (var_table[j].length));
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment