version 1.1.1.2, 2012/05/29 12:34:43
|
version 1.1.1.4, 2014/06/15 20:03:57
|
Line 2
|
Line 2
|
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| PHP Version 5 | |
| PHP Version 5 | |
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| Copyright (c) 1997-2012 The PHP Group | | | Copyright (c) 1997-2014 The PHP Group | |
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| This source file is subject to version 3.01 of the PHP license, | |
| This source file is subject to version 3.01 of the PHP license, | |
| that is bundled with this package in the file LICENSE, and is | |
| that is bundled with this package in the file LICENSE, and is | |
Line 329 PHP_FUNCTION(iptcparse)
|
Line 329 PHP_FUNCTION(iptcparse)
|
recnum = buffer[ inx++ ]; |
recnum = buffer[ inx++ ]; |
|
|
if (buffer[ inx ] & (unsigned char) 0x80) { /* long tag */ |
if (buffer[ inx ] & (unsigned char) 0x80) { /* long tag */ |
|
if((inx+6) >= str_len) { |
|
break; |
|
} |
len = (((long) buffer[ inx + 2 ]) << 24) + (((long) buffer[ inx + 3 ]) << 16) + |
len = (((long) buffer[ inx + 2 ]) << 24) + (((long) buffer[ inx + 3 ]) << 16) + |
(((long) buffer[ inx + 4 ]) << 8) + (((long) buffer[ inx + 5 ])); |
(((long) buffer[ inx + 4 ]) << 8) + (((long) buffer[ inx + 5 ])); |
inx += 6; |
inx += 6; |
Line 336 PHP_FUNCTION(iptcparse)
|
Line 339 PHP_FUNCTION(iptcparse)
|
len = (((unsigned short) buffer[ inx ])<<8) | (unsigned short)buffer[ inx+1 ]; |
len = (((unsigned short) buffer[ inx ])<<8) | (unsigned short)buffer[ inx+1 ]; |
inx += 2; |
inx += 2; |
} |
} |
| |
snprintf(key, sizeof(key), "%d#%03d", (unsigned int) dataset, (unsigned int) recnum); | if ((len < 0) || (len > str_len) || (inx + len) > str_len) { |
| |
if ((len > str_len) || (inx + len) > str_len) { | |
break; |
break; |
} |
} |
|
|
|
snprintf(key, sizeof(key), "%d#%03d", (unsigned int) dataset, (unsigned int) recnum); |
|
|
if (tagsfound == 0) { /* found the 1st tag - initialize the return array */ |
if (tagsfound == 0) { /* found the 1st tag - initialize the return array */ |
array_init(return_value); |
array_init(return_value); |