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:
parent
830afef7c2
commit
eab58da22c
34 changed files with 132 additions and 132 deletions
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
|
|
11
kern/env.c
11
kern/env.c
|
@ -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;
|
||||
|
|
|
@ -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. */
|
||||
|
|
|
@ -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;
|
||||
|
|
27
kern/mm.c
27
kern/mm.c
|
@ -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)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue