Skip to content
  • Peter Jones's avatar
    Initialized initrd_ctx so we don't free a random pointer from the stack. · 631a8200
    Peter Jones authored
    
    
    Currently, if "linux" fails, the "goto fail;" in grub_cmd_initrd sends us
    into grub_initrd_close() without grub_initrd_init() being called, and thus
    it never clears initrd_ctx->components.  grub_initrd_close() then frees that
    address, which is stale data from the stack.  If the stack happens to have a
    stale *address* there that matches a recent allocation, then you'll get a
    double free later.
    
    So initialize the memory up front.
    
    Signed-off-by: default avatarPeter Jones <pjones@redhat.com>
    631a8200