diff --git a/native/jni/magiskhide/proc_monitor.cpp b/native/jni/magiskhide/proc_monitor.cpp index 65fa8b221..7b64e5704 100644 --- a/native/jni/magiskhide/proc_monitor.cpp +++ b/native/jni/magiskhide/proc_monitor.cpp @@ -51,11 +51,12 @@ static int parse_ppid(int pid) { char path[32]; int ppid; sprintf(path, "/proc/%d/stat", pid); - FILE *stat = fopen(path, "r"); + FILE *stat = xfopen(path, "re"); if (stat == nullptr) return -1; /* PID COMM STATE PPID ..... */ fscanf(stat, "%*d %*s %*c %d", &ppid); + fclose(stat); return ppid; } diff --git a/native/jni/resetprop/resetprop.cpp b/native/jni/resetprop/resetprop.cpp index 8fa0599a1..eefa7a827 100644 --- a/native/jni/resetprop/resetprop.cpp +++ b/native/jni/resetprop/resetprop.cpp @@ -211,7 +211,7 @@ int deleteprop(const char *name, bool persist) { int load_prop_file(const char *filename, const bool trigger) { if (init_resetprop()) return -1; LOGD("resetprop: Load prop file [%s]\n", filename); - FILE *fp = fopen(filename, "r"); + FILE *fp = xfopen(filename, "re"); if (fp == nullptr) { LOGE("Cannot open [%s]\n", filename); return 1; diff --git a/native/jni/utils/file.cpp b/native/jni/utils/file.cpp index a1063d6ea..5336478ec 100644 --- a/native/jni/utils/file.cpp +++ b/native/jni/utils/file.cpp @@ -395,7 +395,7 @@ int file_to_vector(const char *filename, Vector &arr) { size_t len = 0; ssize_t read; - FILE *fp = xfopen(filename, "r"); + FILE *fp = xfopen(filename, "re"); if (fp == nullptr) return 1;