frida-java-bridge 6.0.0 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/android.js +14 -2
- package/package.json +1 -1
package/lib/android.js
CHANGED
|
@@ -1940,6 +1940,7 @@ extern unsigned long strtoul (const char * str, char ** endptr, int base);
|
|
|
1940
1940
|
extern void _frida_log (const gchar * message);
|
|
1941
1941
|
|
|
1942
1942
|
static bool visit_frame (ArtStackVisitor * visitor);
|
|
1943
|
+
static void art_stack_frame_destroy (ArtStackFrame * frame);
|
|
1943
1944
|
|
|
1944
1945
|
static void append_jni_type_name (GString * s, const gchar * name, gsize length);
|
|
1945
1946
|
|
|
@@ -1971,7 +1972,7 @@ _create (JNIEnv * env,
|
|
|
1971
1972
|
bt->frames = (limit != 0)
|
|
1972
1973
|
? g_array_sized_new (FALSE, FALSE, sizeof (ArtStackFrame), limit)
|
|
1973
1974
|
: g_array_new (FALSE, FALSE, sizeof (ArtStackFrame));
|
|
1974
|
-
g_array_set_clear_func (bt->frames, (GDestroyNotify)
|
|
1975
|
+
g_array_set_clear_func (bt->frames, (GDestroyNotify) art_stack_frame_destroy);
|
|
1975
1976
|
bt->frames_json = NULL;
|
|
1976
1977
|
|
|
1977
1978
|
gum_tls_key_set_value (current_backtrace, bt);
|
|
@@ -1986,17 +1987,22 @@ _create (JNIEnv * env,
|
|
|
1986
1987
|
void
|
|
1987
1988
|
_on_thread_state_transition_complete (ArtThread * thread)
|
|
1988
1989
|
{
|
|
1990
|
+
ArtContext * context;
|
|
1989
1991
|
ArtStackVisitor visitor = {
|
|
1990
1992
|
.vtable_storage = {
|
|
1991
1993
|
.visit = visit_frame,
|
|
1992
1994
|
},
|
|
1993
1995
|
};
|
|
1994
1996
|
|
|
1995
|
-
|
|
1997
|
+
context = art_thread_get_long_jump_context (thread);
|
|
1998
|
+
|
|
1999
|
+
art_stack_visitor_init (&visitor, thread, context, STACK_WALK_SKIP_INLINED_FRAMES, 0, true);
|
|
1996
2000
|
visitor.vtable = &visitor.vtable_storage;
|
|
1997
2001
|
visitor.backtrace = gum_tls_key_get_value (current_backtrace);
|
|
1998
2002
|
|
|
1999
2003
|
art_stack_visitor_walk_stack (&visitor, false);
|
|
2004
|
+
|
|
2005
|
+
cxx_delete (context);
|
|
2000
2006
|
}
|
|
2001
2007
|
|
|
2002
2008
|
static bool
|
|
@@ -2031,6 +2037,12 @@ skip:
|
|
|
2031
2037
|
return true;
|
|
2032
2038
|
}
|
|
2033
2039
|
|
|
2040
|
+
static void
|
|
2041
|
+
art_stack_frame_destroy (ArtStackFrame * frame)
|
|
2042
|
+
{
|
|
2043
|
+
std_string_destroy (&frame->description);
|
|
2044
|
+
}
|
|
2045
|
+
|
|
2034
2046
|
void
|
|
2035
2047
|
_destroy (ArtBacktrace * backtrace)
|
|
2036
2048
|
{
|