This commit is contained in:
Krisztian 2025-12-01 20:43:11 +02:00 committed by GitHub
commit c77e785b5a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -120,13 +120,15 @@ zephyr_fs_alloc_obj(bool is_dir, const char *path, int *index)
ptr = &desc_array[i];
ptr->used = true;
ptr->is_dir = is_dir;
ptr->path = bh_strdup(path);
ptr->dir_index = 0;
size_t path_len = strlen(path) + 1;
ptr->path = BH_MALLOC(path_len);
if (ptr->path == NULL) {
ptr->used = false;
k_mutex_unlock(&desc_array_mutex);
return NULL;
}
strcpy(ptr->path, path);
*index = i + 3;
break;
}
@ -850,11 +852,17 @@ os_renameat(os_file_handle old_handle, const char *old_path,
for (int i = 0; i < CONFIG_WASI_MAX_OPEN_FILES; i++) {
struct zephyr_fs_desc *ptr = &desc_array[i];
if (ptr->used && ptr->path && strcmp(ptr->path, abs_old_path) == 0) {
char *new_path_copy = bh_strdup(new_path);
size_t new_path_len = strlen(abs_new_path) + 1;
char *new_path_copy = BH_MALLOC(new_path_len);
if (new_path_copy != NULL) {
strcpy(new_path_copy, abs_new_path);
BH_FREE(ptr->path);
ptr->path = new_path_copy;
}
else {
k_mutex_unlock(&desc_array_mutex);
return __WASI_ENOMEM;
}
break; // Only one descriptor should match
}
}
@ -1195,4 +1203,4 @@ bool
os_is_stderr_handle(os_file_handle handle)
{
return (handle == (os_file_handle)stderr);
}
}