aboutsummaryrefslogtreecommitdiff
path: root/frida_mode/src
diff options
context:
space:
mode:
authorWorksButNotTested <62701594+WorksButNotTested@users.noreply.github.com>2021-07-15 09:46:16 +0100
committerGitHub <noreply@github.com>2021-07-15 10:46:16 +0200
commit3dd39fec906758cc545f526d5003e0f28278b316 (patch)
treed5448967abe409cbe244e80b8f93a7ebfac83045 /frida_mode/src
parentb7cd6db08f1498f9bb10423309f554293e567aa9 (diff)
downloadafl++-3dd39fec906758cc545f526d5003e0f28278b316.tar.gz
Fix printing of JS errors (#1024)
Co-authored-by: Your Name <you@example.com>
Diffstat (limited to 'frida_mode/src')
-rw-r--r--frida_mode/src/js/js.c39
1 files changed, 18 insertions, 21 deletions
diff --git a/frida_mode/src/js/js.c b/frida_mode/src/js/js.c
index cf98ff3e..86ae6d29 100644
--- a/frida_mode/src/js/js.c
+++ b/frida_mode/src/js/js.c
@@ -83,21 +83,33 @@ static void js_print_script(gchar *source) {
}
-static void create_cb(GObject *source_object, GAsyncResult *result,
- gpointer user_data) {
+static void load_cb(GObject *source_object, GAsyncResult *result,
+ gpointer user_data) {
UNUSED_PARAMETER(source_object);
UNUSED_PARAMETER(user_data);
- script = gum_script_backend_create_finish(backend, result, &error);
+ gum_script_load_finish(script, result);
+ if (error != NULL)
+ {
+ FATAL("Failed to load script - %s", error->message);
+ }
}
-static void load_cb(GObject *source_object, GAsyncResult *result,
- gpointer user_data) {
+static void create_cb(GObject *source_object, GAsyncResult *result,
+ gpointer user_data) {
UNUSED_PARAMETER(source_object);
UNUSED_PARAMETER(user_data);
- gum_script_load_finish(script, result);
+ script = gum_script_backend_create_finish(backend, result, &error);
+ if (error != NULL)
+ {
+ FATAL("Failed to create script: %s", error->message);
+ }
+
+ gum_script_set_message_handler(script, js_msg, NULL, NULL);
+
+ gum_script_load(script, cancellable, load_cb, NULL);
}
@@ -122,20 +134,6 @@ void js_start(void) {
while (g_main_context_pending(context))
g_main_context_iteration(context, FALSE);
- if (error != NULL) {
-
- g_printerr("%s\n", error->message);
- FATAL("Error processing script");
-
- }
-
- gum_script_load(script, cancellable, load_cb, NULL);
-
- while (g_main_context_pending(context))
- g_main_context_iteration(context, FALSE);
-
- gum_script_set_message_handler(script, js_msg, NULL, NULL);
-
if (!js_done) { FATAL("Script didn't call Afl.done()"); }
}
@@ -147,4 +145,3 @@ gboolean js_stalker_callback(const cs_insn *insn, gboolean begin,
return js_user_callback(insn, begin, excluded, output);
}
-