EFI: don't leak heap contents through XEN_EFI_get_next_variable_name
authorJan Beulich <jbeulich@suse.com>
Thu, 6 Feb 2020 08:52:33 +0000 (09:52 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 6 Feb 2020 08:52:33 +0000 (09:52 +0100)
Commit 1f4eb9d27d0e ("EFI: fix getting EFI variable list on some
systems") switched to using the caller provided size for the copy-out
without making sure the copied buffer is properly scrubbed.

Reported-by: Ilja Van Sprundel <ivansprundel@ioactive.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: George Dunlap <george.dunlap@citrix.com>
xen/common/efi/runtime.c

index 752e6043902902b3349dc1284d9a77fd4d5ec423..95367694b5f38539f0bbd6e5fa3038cfac03d94e 100644 (file)
@@ -571,7 +571,7 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *op)
             return -EINVAL;
 
         size = op->u.get_next_variable_name.size;
-        name.raw = xmalloc_bytes(size);
+        name.raw = xzalloc_bytes(size);
         if ( !name.raw )
             return -ENOMEM;
         if ( copy_from_guest(name.raw, op->u.get_next_variable_name.name,