diff --git a/flipper/flipper-evil-portal/evil_portal_app.c b/flipper/flipper-evil-portal/evil_portal_app.c index a1b6c3d..d1cbd3f 100644 --- a/flipper/flipper-evil-portal/evil_portal_app.c +++ b/flipper/flipper-evil-portal/evil_portal_app.c @@ -113,7 +113,6 @@ int32_t evil_portal_app(void *p) { view_dispatcher_run(evil_portal_app->view_dispatcher); - // crashing here evil_portal_app_free(evil_portal_app); return 0; diff --git a/flipper/flipper-evil-portal/evil_portal_uart.c b/flipper/flipper-evil-portal/evil_portal_uart.c index ab6af87..bca1642 100644 --- a/flipper/flipper-evil-portal/evil_portal_uart.c +++ b/flipper/flipper-evil-portal/evil_portal_uart.c @@ -82,13 +82,24 @@ static int32_t uart_worker(void *context) { strcat(uart->app->portal_logs, (char *)uart->rx_buf); } + if (strlen(uart->app->portal_logs) > 4000) { + write_logs(uart->app->portal_logs); + free(uart->app->portal_logs); + strcpy(uart->app->portal_logs, ""); + } + } else { + uart->rx_buf[len] = '\0'; + if (uart->app->sent_reset == false) { + strcat(uart->app->portal_logs, (char *)uart->rx_buf); + } + if (strlen(uart->app->portal_logs) > 4000) { write_logs(uart->app->portal_logs); free(uart->app->portal_logs); strcpy(uart->app->portal_logs, ""); } } - } + } } }