summaryrefslogtreecommitdiff
path: root/gpsinfo.c
diff options
context:
space:
mode:
Diffstat (limited to 'gpsinfo.c')
-rw-r--r--gpsinfo.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gpsinfo.c b/gpsinfo.c
index cbf261e..0377300 100644
--- a/gpsinfo.c
+++ b/gpsinfo.c
@@ -174,7 +174,7 @@ void ProcessGpsInfo(unsigned char * DirStart, int ByteCountUnused, unsigned char
unsigned OffsetVal;
OffsetVal = Get32u(DirEntry+8);
// If its bigger than 4 bytes, the dir entry contains an offset.
- if (OffsetVal+ByteCount > ExifLength){
+ if (OffsetVal > UINT32_MAX - ByteCount || OffsetVal+ByteCount > ExifLength){
// Bogus pointer offset and / or bytecount value
ErrNonfatal("Illegal value pointer for tag %04x", Tag,0);
continue;