[PATCH libinput] util: abort if we try to allocate more than a MB
Peter Hutterer
peter.hutterer at who-t.net
Tue Jun 19 23:44:59 UTC 2018
The ssize_t cast upsets coverity for some reason but we can be a lot more
restrictive here anyway. Quick analysis of the zalloc calls in the test suite
show the largest allocation is 9204 bytes.
Let's put a cap on for one MB, anything above that is likely some memory
corruption and should be caught early.
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
src/libinput-util.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/libinput-util.h b/src/libinput-util.h
index 8c67dcbd..4f60e8ea 100644
--- a/src/libinput-util.h
+++ b/src/libinput-util.h
@@ -142,7 +142,9 @@ zalloc(size_t size)
{
void *p;
- if ((ssize_t)size < 0)
+ /* We never need to alloc anything even near one MB so we can assume
+ * if we ever get above that something's going wrong */
+ if (size > 1024 * 1024)
abort();
p = calloc(1, size);
--
2.17.1
More information about the wayland-devel
mailing list