]> granicus.if.org Git - file/commitdiff
Prevent wrap around (Remi Collet at redhat)
authorChristos Zoulas <christos@zoulas.com>
Thu, 7 Aug 2014 09:38:35 +0000 (09:38 +0000)
committerChristos Zoulas <christos@zoulas.com>
Thu, 7 Aug 2014 09:38:35 +0000 (09:38 +0000)
src/cdf.c

index 8554329a59d5bc7f84855c519c7113e4c4ca0089..99c0d25f5e8fa0be4f7f833f83064670ffd65a72 100644 (file)
--- a/src/cdf.c
+++ b/src/cdf.c
@@ -35,7 +35,7 @@
 #include "file.h"
 
 #ifndef lint
-FILE_RCSID("@(#)$File: cdf.c,v 1.64 2014/07/24 19:35:39 christos Exp $")
+FILE_RCSID("@(#)$File: cdf.c,v 1.65 2014/08/07 09:38:35 christos Exp $")
 #endif
 
 #include <assert.h>
@@ -835,6 +835,10 @@ cdf_read_property_info(const cdf_stream_t *sst, const cdf_header_t *h,
                q = (const uint8_t *)(const void *)
                    ((const char *)(const void *)p + ofs
                    - 2 * sizeof(uint32_t));
+               if (q < p) {
+                       DPRINTF(("Wrapped around %p < %p\n", q, p));
+                       goto out;
+               }
                if (q > e) {
                        DPRINTF(("Ran of the end %p > %p\n", q, e));
                        goto out;