--- lbbs/src/menu.c 2025/11/19 14:47:08 1.89 +++ lbbs/src/menu.c 2025/11/20 01:02:15 1.91 @@ -44,7 +44,8 @@ int load_menu(MENU_SET *p_menu_set, cons { char filepath[FILE_PATH_LEN]; int fd; - void *p_shm = NULL; + size_t size; + void *p_shm; FILE *fin; int fin_line = 0; char buffer[LINE_BUFFER_LEN]; @@ -59,7 +60,6 @@ int load_menu(MENU_SET *p_menu_set, cons MENU_ID menu_id; MENU_ITEM_ID menu_item_id; MENU_SCREEN_ID screen_id; - size_t size; if (p_menu_set == NULL || conf_file == NULL) { @@ -1472,18 +1472,12 @@ int set_menu_shm_readonly(MENU_SET *p_me return -1; } - if (p_menu_set->p_reserved != NULL && munmap(p_menu_set->p_reserved, p_menu_set->shm_size) < 0) + if (p_menu_set->p_reserved != NULL && mprotect(p_menu_set->p_reserved, p_menu_set->shm_size, PROT_READ) < 0) { - log_error("munmap() error (%d)\n", errno); + log_error("mprotect() error (%d)\n", errno); return -2; } - if (get_menu_shm_readonly(p_menu_set) < 0) - { - log_error("get_menu_shm_readonly() error\n"); - return -3; - } - return 0; }