mirror of
https://github.com/holub/mame
synced 2025-10-08 09:30:17 +03:00
some mismatched malloc/free usage with osd_* functions (nw)
This commit is contained in:
parent
738a0b82ab
commit
b52f668f13
@ -1419,6 +1419,9 @@ void ui_menu_control_device_image::test_create(bool &can_create, bool &need_conf
|
|||||||
need_confirm = false;
|
need_confirm = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (entry != NULL)
|
||||||
|
osd_free(entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ui_menu_control_device_image::load_software_part()
|
void ui_menu_control_device_image::load_software_part()
|
||||||
|
@ -547,7 +547,7 @@ static file_error zippath_resolve(const char *path, osd_dir_entry_type &entry_ty
|
|||||||
{
|
{
|
||||||
/* get the entry type and free the stat entry */
|
/* get the entry type and free the stat entry */
|
||||||
current_entry_type = current_entry->type;
|
current_entry_type = current_entry->type;
|
||||||
free(current_entry);
|
osd_free(current_entry);
|
||||||
current_entry = NULL;
|
current_entry = NULL;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -145,7 +145,7 @@ osd_directory_entry *osd_stat(const char *path)
|
|||||||
|
|
||||||
// create an osd_directory_entry; be sure to make sure that the caller can
|
// create an osd_directory_entry; be sure to make sure that the caller can
|
||||||
// free all resources by just freeing the resulting osd_directory_entry
|
// free all resources by just freeing the resulting osd_directory_entry
|
||||||
result = (osd_directory_entry *)malloc(sizeof(*result) + strlen(path) + 1);
|
result = (osd_directory_entry *)osd_malloc_array(sizeof(*result) + strlen(path) + 1);
|
||||||
strcpy((char *)(result + 1), path);
|
strcpy((char *)(result + 1), path);
|
||||||
result->name = (char *)(result + 1);
|
result->name = (char *)(result + 1);
|
||||||
result->type = ENTTYPE_NONE;
|
result->type = ENTTYPE_NONE;
|
||||||
@ -171,7 +171,8 @@ file_error osd_get_full_path(char **dst, const char *path)
|
|||||||
{
|
{
|
||||||
// derive the full path of the file in an allocated string
|
// derive the full path of the file in an allocated string
|
||||||
// for now just fake it since we don't presume any underlying file system
|
// for now just fake it since we don't presume any underlying file system
|
||||||
*dst = strdup(path);
|
*dst = (char*)osd_malloc_array(strlen(path) + 1);
|
||||||
|
strcpy(*dst, path);
|
||||||
return FILERR_NONE;
|
return FILERR_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -446,7 +446,7 @@ osd_directory_entry *osd_stat(const char *path)
|
|||||||
|
|
||||||
// create an osd_directory_entry; be sure to make sure that the caller can
|
// create an osd_directory_entry; be sure to make sure that the caller can
|
||||||
// free all resources by just freeing the resulting osd_directory_entry
|
// free all resources by just freeing the resulting osd_directory_entry
|
||||||
result = (osd_directory_entry *) malloc(sizeof(*result) + strlen(path) + 1);
|
result = (osd_directory_entry *) osd_malloc_array(sizeof(*result) + strlen(path) + 1);
|
||||||
if (!result)
|
if (!result)
|
||||||
goto done;
|
goto done;
|
||||||
strcpy(((char *) result) + sizeof(*result), path);
|
strcpy(((char *) result) + sizeof(*result), path);
|
||||||
|
@ -64,7 +64,7 @@ file_error osd_open(const char *path, UINT32 openflags, osd_file **file, UINT64
|
|||||||
}
|
}
|
||||||
|
|
||||||
// allocate a file object, plus space for the converted filename
|
// allocate a file object, plus space for the converted filename
|
||||||
*file = (osd_file *)malloc(sizeof(**file) + sizeof(TCHAR) * _tcslen(t_path));
|
*file = (osd_file *)osd_malloc_array(sizeof(**file) + sizeof(TCHAR) * _tcslen(t_path));
|
||||||
if (*file == NULL)
|
if (*file == NULL)
|
||||||
{
|
{
|
||||||
filerr = FILERR_OUT_OF_MEMORY;
|
filerr = FILERR_OUT_OF_MEMORY;
|
||||||
@ -152,7 +152,7 @@ error:
|
|||||||
// cleanup
|
// cleanup
|
||||||
if (filerr != FILERR_NONE && *file != NULL)
|
if (filerr != FILERR_NONE && *file != NULL)
|
||||||
{
|
{
|
||||||
free(*file);
|
osd_free(*file);
|
||||||
*file = NULL;
|
*file = NULL;
|
||||||
}
|
}
|
||||||
osd_free(t_path);
|
osd_free(t_path);
|
||||||
@ -286,7 +286,7 @@ file_error osd_close(osd_file *file)
|
|||||||
case WINFILE_FILE:
|
case WINFILE_FILE:
|
||||||
// close the file handle and free the file structure
|
// close the file handle and free the file structure
|
||||||
CloseHandle(file->handle);
|
CloseHandle(file->handle);
|
||||||
free(file);
|
osd_free(file);
|
||||||
break;
|
break;
|
||||||
case WINFILE_SOCKET:
|
case WINFILE_SOCKET:
|
||||||
return win_close_socket(file);
|
return win_close_socket(file);
|
||||||
@ -490,7 +490,7 @@ osd_directory_entry *osd_stat(const char *path)
|
|||||||
|
|
||||||
// create an osd_directory_entry; be sure to make sure that the caller can
|
// create an osd_directory_entry; be sure to make sure that the caller can
|
||||||
// free all resources by just freeing the resulting osd_directory_entry
|
// free all resources by just freeing the resulting osd_directory_entry
|
||||||
result = (osd_directory_entry *)malloc(sizeof(*result) + strlen(path) + 1);
|
result = (osd_directory_entry *)osd_malloc_array(sizeof(*result) + strlen(path) + 1);
|
||||||
if (!result)
|
if (!result)
|
||||||
goto done;
|
goto done;
|
||||||
strcpy(((char *) result) + sizeof(*result), path);
|
strcpy(((char *) result) + sizeof(*result), path);
|
||||||
|
Loading…
Reference in New Issue
Block a user