1 |
vip-ire |
1.1 |
From 0641e56be1af003aa02c7c6b0184466540637233 Mon Sep 17 00:00:00 2001 |
2 |
|
|
From: Christos Zoulas <christos@zoulas.com> |
3 |
|
|
Date: Thu, 7 Aug 2014 09:38:35 +0000 |
4 |
|
|
Subject: [PATCH] Prevent wrap around (Remi Collet at redhat) |
5 |
|
|
|
6 |
|
|
--- |
7 |
|
|
src/cdf.c | 6 +++++- |
8 |
|
|
1 file changed, 5 insertions(+), 1 deletion(-) |
9 |
|
|
|
10 |
|
|
diff --git a/src/cdf.c b/src/cdf.c |
11 |
|
|
index 5dbf3b1..3e691f4 100644 |
12 |
|
|
--- a/ext/fileinfo/libmagic/cdf.c 2014-08-14 14:40:06.875720471 +0200 |
13 |
|
|
+++ b/ext/fileinfo/libmagic/cdf.c 2014-08-14 14:41:19.907273015 +0200 |
14 |
|
|
@@ -768,6 +768,10 @@ |
15 |
|
|
q = (const uint32_t *)(const void *) |
16 |
|
|
((const char *)(const void *)p + ofs |
17 |
|
|
- 2 * sizeof(uint32_t)); |
18 |
|
|
+ if (q < p) { |
19 |
|
|
+ DPRINTF(("Wrapped around %p < %p\n", q, p)); |
20 |
|
|
+ goto out; |
21 |
|
|
+ } |
22 |
|
|
if (q > e) { |
23 |
|
|
DPRINTF(("Ran of the end %p > %p\n", q, e)); |
24 |
|
|
goto out; |
25 |
|
|
-- |
26 |
|
|
2.0.3 |
27 |
|
|
|