|
@@ -0,0 +1,26 @@
|
|
|
|
+From 39c7ac1106be844a5296d3eb5971946cc09ffda0 Mon Sep 17 00:00:00 2001
|
|
|
|
+From: Christos Zoulas <christos@zoulas.com>
|
|
|
|
+Date: Fri, 17 Oct 2014 15:49:00 +0000
|
|
|
|
+Subject: [PATCH] Fix note bounds reading, Francisco Alonso / Red Hat
|
|
|
|
+
|
|
|
|
+diff --git a/src/readelf.c b/src/readelf.c
|
|
|
|
+index 08f81f5..9ebdebd 100644
|
|
|
|
+--- a/src/readelf.c
|
|
|
|
++++ b/src/readelf.c
|
|
|
|
+@@ -477,6 +477,13 @@ donote(struct magic_set *ms, void *vbuf, size_t offset, size_t size,
|
|
|
|
+ uint32_t namesz, descsz;
|
|
|
|
+ unsigned char *nbuf = CAST(unsigned char *, vbuf);
|
|
|
|
+
|
|
|
|
++ if (xnh_sizeof + offset > size) {
|
|
|
|
++ /*
|
|
|
|
++ * We're out of note headers.
|
|
|
|
++ */
|
|
|
|
++ return xnh_sizeof + offset;
|
|
|
|
++ }
|
|
|
|
++
|
|
|
|
+ (void)memcpy(xnh_addr, &nbuf[offset], xnh_sizeof);
|
|
|
|
+ offset += xnh_sizeof;
|
|
|
|
+
|
|
|
|
+--
|
|
|
|
+1.7.10.4
|
|
|
|
+
|