io: fix null pointer deref in win32 update_iterator_data

This commit is contained in:
2025-02-14 18:39:58 +00:00
parent 8177eb2b24
commit 61848aadd7

View File

@@ -159,17 +159,18 @@ static void update_iterator_data(struct b_directory_iterator *it)
} }
struct iteration_state *state = get_iteration_state(it->_z); struct iteration_state *state = get_iteration_state(it->_z);
it->filename = state->data.cFileName; if (state) {
it->filename = state->data.cFileName;
struct b_path *filename = b_path_create_from_cstr(it->filename); struct b_path *filename = b_path_create_from_cstr(it->filename);
const struct b_path *parts[] = { const struct b_path *parts[] = {
state->search_path, state->search_path,
filename, filename,
}; };
it->filepath it->filepath = b_path_join(parts, sizeof parts / sizeof parts[0]);
= b_path_join(parts, sizeof parts / sizeof parts[0]); }
} }
static bool move_into_directory(struct b_directory_iterator *it, const char *dir_name) static bool move_into_directory(struct b_directory_iterator *it, const char *dir_name)