diff --git a/src/usb_moded-worker.c b/src/usb_moded-worker.c index b5e422c..bf2c4ae 100644 --- a/src/usb_moded-worker.c +++ b/src/usb_moded-worker.c @@ -468,14 +468,17 @@ worker_execute(void) log_debug("activate = %s", activate); bool changed = g_strcmp0(activated, activate) != 0; + gchar *mode = g_strdup(activate); WORKER_LOCKED_LEAVE; if( changed ) - worker_switch_to_mode(activate); + worker_switch_to_mode(mode); else worker_notify(); + g_free(mode); + return; }