aboutsummaryrefslogtreecommitdiff
path: root/target/s390x/arch_dump.c
diff options
context:
space:
mode:
authorThomas Huth <thuth@redhat.com>2023-02-14 15:10:56 +0100
committerMichael Tokarev <mjt@tls.msk.ru>2023-03-30 12:19:04 +0300
commita3c6cd83e32d7729889b3eab2a9b6b4650c56ea9 (patch)
treea41699c76247556213f0ed537ac1b593939ad6a7 /target/s390x/arch_dump.c
parenta2efa1fac49b7d7d10564ef0007b2ed02e69fdf5 (diff)
target/s390x/arch_dump: Fix memory corruption in s390x_write_elf64_notes()
"note_size" can be smaller than sizeof(note), so unconditionally calling memset(notep, 0, sizeof(note)) could cause a memory corruption here in case notep has been allocated dynamically, thus let's use note_size as length argument for memset() instead. Reported-by: Sebastian Mitterle <smitterl@redhat.com> Fixes: 113d8f4e95 ("s390x: pv: Add dump support") Message-Id: <20230214141056.680969-1-thuth@redhat.com> Reviewed-by: Janosch Frank <frankja@linux.ibm.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Thomas Huth <thuth@redhat.com> (cherry picked from commit eb60026120081430d554c9cabaa36c4ac271fce0) Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Diffstat (limited to 'target/s390x/arch_dump.c')
-rw-r--r--target/s390x/arch_dump.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target/s390x/arch_dump.c b/target/s390x/arch_dump.c
index a2329141e8..a7c44ba49d 100644
--- a/target/s390x/arch_dump.c
+++ b/target/s390x/arch_dump.c
@@ -248,7 +248,7 @@ static int s390x_write_elf64_notes(const char *note_name,
notep = g_malloc(note_size);
}
- memset(notep, 0, sizeof(note));
+ memset(notep, 0, note_size);
/* Setup note header data */
notep->hdr.n_descsz = cpu_to_be32(content_size);