2009-07-16 Pavel Roskin <proski@gnu.org>

* kern/mm.c (grub_zalloc): New function.
	(grub_debug_zalloc): Likewise.
	* include/grub/mm.h: Declare grub_zalloc() and
	grub_debug_zalloc().
	* util/misc.c (grub_zalloc): New function.
	* bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
	instead of grub_malloc(), remove unneeded initializations.
	* bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
	* commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
	* commands/parttool.c (grub_cmd_parttool): Likewise.
	* disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
	* disk/raid5_recover.c (grub_raid5_recover): Likewise.
	* disk/raid6_recover.c (grub_raid6_recover): Likewise.
	* disk/usbms.c (grub_usbms_finddevs): Likewise.
	* efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
	* efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
	(grub_cmd_efiemu_pnvram): Likewise.
	* fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
	* fs/iso9660.c (grub_iso9660_mount): Likewise.
	(grub_iso9660_iterate_dir): Likewise.
	* fs/jfs.c (grub_jfs_opendir): Likewise.
	* fs/ntfs.c (list_file): Likewise.
	(grub_ntfs_mount): Likewise.
	* kern/disk.c (grub_disk_open): Likewise.
	* kern/dl.c (grub_dl_load_core): Likewise.
	* kern/elf.c (grub_elf_file): Likewise.
	* kern/env.c (grub_env_context_open): Likewise.
	(grub_env_set): Likewise.
	(grub_env_set_data_slot): Likewise.
	* kern/file.c (grub_file_open): Likewise.
	* kern/fs.c (grub_fs_blocklist_open): Likewise.
	* loader/i386/multiboot.c (grub_module): Likewise.
	* loader/xnu.c (grub_xnu_create_key): Likewise.
	(grub_xnu_create_value): Likewise.
	* normal/main.c (grub_normal_add_menu_entry): Likewise.
	(read_config_file): Likewise.
	* normal/menu_entry.c (make_screen): Likewise.
	* partmap/sun.c (sun_partition_map_iterate): Likewise.
	* script/sh/lexer.c (grub_script_lexer_init): Likewise.
	* script/sh/script.c (grub_script_parse): Likewise.
	* video/bitmap.c (grub_video_bitmap_create): Likewise.
	* video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
	* video/readers/png.c (grub_png_output_byte): Likewise.
	(grub_video_reader_png): Likewise.
This commit is contained in:
proski 2009-07-16 22:14:09 +00:00
parent 830afef7c2
commit eab58da22c
34 changed files with 132 additions and 132 deletions

View file

@ -244,14 +244,10 @@ grub_disk_open (const char *name)
grub_dprintf ("disk", "Opening `%s'...\n", name);
disk = (grub_disk_t) grub_malloc (sizeof (*disk));
disk = (grub_disk_t) grub_zalloc (sizeof (*disk));
if (! disk)
return 0;
disk->dev = 0;
disk->read_hook = 0;
disk->partition = 0;
disk->data = 0;
disk->name = grub_strdup (name);
if (! disk->name)
goto fail;

View file

@ -535,16 +535,11 @@ grub_dl_load_core (void *addr, grub_size_t size)
return 0;
}
mod = (grub_dl_t) grub_malloc (sizeof (*mod));
mod = (grub_dl_t) grub_zalloc (sizeof (*mod));
if (! mod)
return 0;
mod->name = 0;
mod->ref_count = 1;
mod->dep = 0;
mod->segment = 0;
mod->init = 0;
mod->fini = 0;
grub_dprintf ("modules", "relocating to %p\n", mod);
if (grub_dl_resolve_name (mod, e)

View file

@ -61,12 +61,11 @@ grub_elf_file (grub_file_t file)
{
grub_elf_t elf;
elf = grub_malloc (sizeof (*elf));
elf = grub_zalloc (sizeof (*elf));
if (! elf)
return 0;
elf->file = file;
elf->phdrs = 0;
if (grub_file_seek (elf->file, 0) == (grub_off_t) -1)
goto fail;

View file

@ -80,11 +80,10 @@ grub_env_context_open (int export)
struct grub_env_context *context;
int i;
context = grub_malloc (sizeof (*context));
context = grub_zalloc (sizeof (*context));
if (! context)
return grub_errno;
grub_memset (context, 0, sizeof (*context));
context->prev = current_context;
current_context = context;
@ -204,12 +203,10 @@ grub_env_set (const char *name, const char *val)
}
/* The variable does not exist, so create a new one. */
var = grub_malloc (sizeof (*var));
var = grub_zalloc (sizeof (*var));
if (! var)
return grub_errno;
grub_memset (var, 0, sizeof (*var));
/* This is not necessary, because GRUB_ENV_VAR_LOCAL == 0. But leave
this for readability. */
var->type = GRUB_ENV_VAR_LOCAL;
@ -379,12 +376,10 @@ grub_env_set_data_slot (const char *name, const void *ptr)
}
/* The variable does not exist, so create a new one. */
var = grub_malloc (sizeof (*var));
var = grub_zalloc (sizeof (*var));
if (! var)
goto fail;
grub_memset (var, 0, sizeof (*var));
var->type = GRUB_ENV_VAR_DATA;
var->name = mangled_name;
var->value = (char *) ptr;

View file

@ -75,14 +75,11 @@ grub_file_open (const char *name)
if (! device)
goto fail;
file = (grub_file_t) grub_malloc (sizeof (*file));
file = (grub_file_t) grub_zalloc (sizeof (*file));
if (! file)
goto fail;
file->device = device;
file->offset = 0;
file->data = 0;
file->read_hook = 0;
if (device->disk && file_name[0] != '/')
/* This is a block list. */

View file

@ -161,7 +161,7 @@ grub_fs_blocklist_open (grub_file_t file, const char *name)
while (p);
/* Allocate a block list. */
blocks = grub_malloc (sizeof (struct grub_fs_block) * (num + 1));
blocks = grub_zalloc (sizeof (struct grub_fs_block) * (num + 1));
if (! blocks)
return 0;
@ -179,8 +179,6 @@ grub_fs_blocklist_open (grub_file_t file, const char *name)
goto fail;
}
}
else
blocks[i].offset = 0;
p++;
blocks[i].length = grub_strtoul (p, &p, 0);
@ -203,7 +201,6 @@ grub_fs_blocklist_open (grub_file_t file, const char *name)
p++;
}
blocks[i].length = 0;
file->data = blocks;
return GRUB_ERR_NONE;

View file

@ -68,6 +68,7 @@
#ifdef MM_DEBUG
# undef grub_malloc
# undef grub_zalloc
# undef grub_realloc
# undef grub_free
# undef grub_memalign
@ -348,6 +349,19 @@ grub_malloc (grub_size_t size)
return grub_memalign (0, size);
}
/* Allocate SIZE bytes, clear them and return the pointer. */
void *
grub_zalloc (grub_size_t size)
{
void *ret;
ret = grub_memalign (0, size);
if (ret)
grub_memset (ret, 0, size);
return ret;
}
/* Deallocate the pointer PTR. */
void
grub_free (void *ptr)
@ -522,6 +536,19 @@ grub_debug_malloc (const char *file, int line, grub_size_t size)
return ptr;
}
void *
grub_debug_zalloc (const char *file, int line, grub_size_t size)
{
void *ptr;
if (grub_mm_debug)
grub_printf ("%s:%d: zalloc (0x%zx) = ", file, line, size);
ptr = grub_zalloc (size);
if (grub_mm_debug)
grub_printf ("%p\n", ptr);
return ptr;
}
void
grub_debug_free (const char *file, int line, void *ptr)
{