Skip to content

Commit 577ca48

Browse files
committed
fix: check buffer length before type conversion
1 parent 9a15f58 commit 577ca48

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

ImageScript.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1624,31 +1624,31 @@ class ImageType {
16241624
* @returns {boolean}
16251625
*/
16261626
static isPNG(view) {
1627-
return view.getUint32(0, false) === MAGIC_NUMBERS.PNG;
1627+
return view.byteLength >= 4 && view.getUint32(0, false) === MAGIC_NUMBERS.PNG;
16281628
}
16291629

16301630
/**
16311631
* @param {DataView} view
16321632
* @returns {boolean}
16331633
*/
16341634
static isJPEG(view) {
1635-
return (view.getUint32(0, false) >>> 8) === MAGIC_NUMBERS.JPEG;
1635+
return view.byteLength >= 4 && (view.getUint32(0, false) >>> 8) === MAGIC_NUMBERS.JPEG;
16361636
}
16371637

16381638
/**
16391639
* @param {DataView} view
16401640
* @returns {boolean}
16411641
*/
16421642
static isTIFF(view) {
1643-
return view.getUint32(0, false) === MAGIC_NUMBERS.TIFF;
1643+
return view.byteLength >= 4 && view.getUint32(0, false) === MAGIC_NUMBERS.TIFF;
16441644
}
16451645

16461646
/**
16471647
* @param {DataView} view
16481648
* @returns {boolean}
16491649
*/
16501650
static isGIF(view) {
1651-
return (view.getUint32(0, false) >>> 8) === MAGIC_NUMBERS.GIF;
1651+
return view.byteLength >= 4 && (view.getUint32(0, false) >>> 8) === MAGIC_NUMBERS.GIF;
16521652
}
16531653
}
16541654

0 commit comments

Comments
 (0)