diff --git a/native/src/core/daemon.cpp b/native/src/core/daemon.cpp index 0b8e2a71e..7dfc65f86 100644 --- a/native/src/core/daemon.cpp +++ b/native/src/core/daemon.cpp @@ -447,13 +447,13 @@ int connect_daemon(int req, bool create) { break; case MainResponse::ERROR: LOGE("Daemon error\n"); - exit(-1); + return -1; case MainResponse::ROOT_REQUIRED: LOGE("Root is required for this operation\n"); - exit(-1); + return -1; case MainResponse::ACCESS_DENIED: LOGE("Access denied\n"); - exit(-1); + return -1; default: __builtin_unreachable(); } diff --git a/native/src/zygisk/zygisk.hpp b/native/src/zygisk/zygisk.hpp index 3292bb4c5..56d7e9476 100644 --- a/native/src/zygisk/zygisk.hpp +++ b/native/src/zygisk/zygisk.hpp @@ -59,6 +59,7 @@ int remote_request_unmount(); inline int zygisk_request(int req) { int fd = connect_daemon(MainRequest::ZYGISK); + if (fd < 0) return fd; write_int(fd, req); return fd; }