@cogeotiff/core 9.1.0 → 9.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## [9.1.2](https://github.com/blacha/cogeotiff/compare/core-v9.1.1...core-v9.1.2) (2025-11-10)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * add protection for empty tiffs ([3df0425](https://github.com/blacha/cogeotiff/commit/3df04250fab17e9fae26bf737c8300fbbf2adef6))
9
+
10
+ ## [9.1.1](https://github.com/blacha/cogeotiff/compare/core-v9.1.0...core-v9.1.1) (2025-11-10)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * add field type 13 exif IFD Offset ([#1367](https://github.com/blacha/cogeotiff/issues/1367)) ([08546f1](https://github.com/blacha/cogeotiff/commit/08546f1b3901b624c0085723bc0e70da8415f6c4))
16
+ * allow tiff reads if content-length is unknown ([#1355](https://github.com/blacha/cogeotiff/issues/1355)) ([78a35a9](https://github.com/blacha/cogeotiff/commit/78a35a903b3628f40289a2c576d920a568fb1abf)), closes [#1349](https://github.com/blacha/cogeotiff/issues/1349)
17
+
3
18
  ## [9.1.0](https://github.com/blacha/cogeotiff/compare/core-v9.0.3...core-v9.1.0) (2025-09-17)
4
19
 
5
20
 
@@ -38,6 +38,12 @@ describe('CogRead', () => {
38
38
  assert.equal(tiff.images[0].epsg, null);
39
39
  validate(tiff);
40
40
  });
41
+ it('should fail reading a empty byte tiff', async () => {
42
+ const source = new SourceMemory(Buffer.from(''));
43
+ const tiff = new Tiff(source);
44
+ const ret = await tiff.init().catch((e) => String(e));
45
+ assert.equal(String(ret), 'Error: Unable to read empty tiff');
46
+ });
41
47
  it('should read tiff', async () => {
42
48
  const source = new TestFileSource(new URL('../../data/cog.tiff', import.meta.url));
43
49
  const tiff = new Tiff(source);
@@ -1 +1 @@
1
- {"version":3,"file":"cog.read.test.js","sourceRoot":"","sources":["../../src/__test__/cog.read.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cog.read.test.js","sourceRoot":"","sources":["../../src/__test__/cog.read.test.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export declare enum TiffTagValueType {
11
11
  SignedRational = 10,
12
12
  Float32 = 11,
13
13
  Float64 = 12,
14
+ Ifd = 13,
14
15
  Uint64 = 16,
15
16
  Int64 = 17,
16
17
  Ifd8 = 18
@@ -12,6 +12,8 @@ export var TiffTagValueType;
12
12
  TiffTagValueType[TiffTagValueType["SignedRational"] = 10] = "SignedRational";
13
13
  TiffTagValueType[TiffTagValueType["Float32"] = 11] = "Float32";
14
14
  TiffTagValueType[TiffTagValueType["Float64"] = 12] = "Float64";
15
+ // IFD offset: https://owl.phy.queensu.ca/~phil/exiftool/standards.html
16
+ TiffTagValueType[TiffTagValueType["Ifd"] = 13] = "Ifd";
15
17
  // BigTiff
16
18
  TiffTagValueType[TiffTagValueType["Uint64"] = 16] = "Uint64";
17
19
  TiffTagValueType[TiffTagValueType["Int64"] = 17] = "Int64";
@@ -1 +1 @@
1
- {"version":3,"file":"tiff.tag.value.js","sourceRoot":"","sources":["../../src/const/tiff.tag.value.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAiBX;AAjBD,WAAY,gBAAgB;IAC1B,yDAAS,CAAA;IACT,yDAAS,CAAA;IACT,2DAAU,CAAA;IACV,2DAAU,CAAA;IACV,+DAAY,CAAA;IACZ,uDAAQ,CAAA;IACR,iEAAa,CAAA;IACb,yDAAS,CAAA;IACT,yDAAS,CAAA;IACT,4EAAmB,CAAA;IACnB,8DAAY,CAAA;IACZ,8DAAY,CAAA;IACZ,UAAU;IACV,4DAAW,CAAA;IACX,0DAAU,CAAA;IACV,wDAAS,CAAA;AACX,CAAC,EAjBW,gBAAgB,KAAhB,gBAAgB,QAiB3B"}
1
+ {"version":3,"file":"tiff.tag.value.js","sourceRoot":"","sources":["../../src/const/tiff.tag.value.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAmBX;AAnBD,WAAY,gBAAgB;IAC1B,yDAAS,CAAA;IACT,yDAAS,CAAA;IACT,2DAAU,CAAA;IACV,2DAAU,CAAA;IACV,+DAAY,CAAA;IACZ,uDAAQ,CAAA;IACR,iEAAa,CAAA;IACb,yDAAS,CAAA;IACT,yDAAS,CAAA;IACT,4EAAmB,CAAA;IACnB,8DAAY,CAAA;IACZ,8DAAY,CAAA;IACZ,uEAAuE;IACvE,sDAAQ,CAAA;IACR,UAAU;IACV,4DAAW,CAAA;IACX,0DAAU,CAAA;IACV,wDAAS,CAAA;AACX,CAAC,EAnBW,gBAAgB,KAAhB,gBAAgB,QAmB3B"}
@@ -18,6 +18,7 @@ function readTagValue(fieldType, bytes, offset, isLittleEndian) {
18
18
  case TiffTagValueType.Int16:
19
19
  return bytes.getInt16(offset, isLittleEndian);
20
20
  case TiffTagValueType.Uint32:
21
+ case TiffTagValueType.Ifd:
21
22
  return bytes.getUint32(offset, isLittleEndian);
22
23
  case TiffTagValueType.Int32:
23
24
  return bytes.getInt32(offset, isLittleEndian);
@@ -1 +1 @@
1
- {"version":3,"file":"tiff.tag.factory.js","sourceRoot":"","sources":["../../src/read/tiff.tag.factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tiff.tag.factory.js","sourceRoot":"","sources":["../../src/read/tiff.tag.factory.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ export function getTiffTagSize(fieldType) {
12
12
  case TiffTagValueType.Uint32:
13
13
  case TiffTagValueType.Int32:
14
14
  case TiffTagValueType.Float32:
15
+ case TiffTagValueType.Ifd:
15
16
  return 4;
16
17
  case TiffTagValueType.Rational:
17
18
  case TiffTagValueType.SignedRational:
@@ -1 +1 @@
1
- {"version":3,"file":"tiff.value.reader.js","sourceRoot":"","sources":["../../src/read/tiff.value.reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,MAAM,UAAU,cAAc,CAAC,SAA2B;IACxD,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,gBAAgB,CAAC,KAAK,CAAC;QAC5B,KAAK,gBAAgB,CAAC,KAAK,CAAC;QAC5B,KAAK,gBAAgB,CAAC,IAAI,CAAC;QAC3B,KAAK,gBAAgB,CAAC,SAAS;YAC7B,OAAO,CAAC,CAAC;QACX,KAAK,gBAAgB,CAAC,MAAM,CAAC;QAC7B,KAAK,gBAAgB,CAAC,KAAK;YACzB,OAAO,CAAC,CAAC;QACX,KAAK,gBAAgB,CAAC,MAAM,CAAC;QAC7B,KAAK,gBAAgB,CAAC,KAAK,CAAC;QAC5B,KAAK,gBAAgB,CAAC,OAAO;YAC3B,OAAO,CAAC,CAAC;QACX,KAAK,gBAAgB,CAAC,QAAQ,CAAC;QAC/B,KAAK,gBAAgB,CAAC,cAAc,CAAC;QACrC,KAAK,gBAAgB,CAAC,OAAO,CAAC;QAC9B,KAAK,gBAAgB,CAAC,MAAM,CAAC;QAC7B,KAAK,gBAAgB,CAAC,KAAK,CAAC;QAC5B,KAAK,gBAAgB,CAAC,IAAI;YACxB,OAAO,CAAC,CAAC;QACX;YACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"tiff.value.reader.js","sourceRoot":"","sources":["../../src/read/tiff.value.reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,MAAM,UAAU,cAAc,CAAC,SAA2B;IACxD,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,gBAAgB,CAAC,KAAK,CAAC;QAC5B,KAAK,gBAAgB,CAAC,KAAK,CAAC;QAC5B,KAAK,gBAAgB,CAAC,IAAI,CAAC;QAC3B,KAAK,gBAAgB,CAAC,SAAS;YAC7B,OAAO,CAAC,CAAC;QACX,KAAK,gBAAgB,CAAC,MAAM,CAAC;QAC7B,KAAK,gBAAgB,CAAC,KAAK;YACzB,OAAO,CAAC,CAAC;QACX,KAAK,gBAAgB,CAAC,MAAM,CAAC;QAC7B,KAAK,gBAAgB,CAAC,KAAK,CAAC;QAC5B,KAAK,gBAAgB,CAAC,OAAO,CAAC;QAC9B,KAAK,gBAAgB,CAAC,GAAG;YACvB,OAAO,CAAC,CAAC;QACX,KAAK,gBAAgB,CAAC,QAAQ,CAAC;QAC/B,KAAK,gBAAgB,CAAC,cAAc,CAAC;QACrC,KAAK,gBAAgB,CAAC,OAAO,CAAC;QAC9B,KAAK,gBAAgB,CAAC,MAAM,CAAC;QAC7B,KAAK,gBAAgB,CAAC,KAAK,CAAC;QAC5B,KAAK,gBAAgB,CAAC,IAAI;YACxB,OAAO,CAAC,CAAC;QACX;YACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC"}
package/build/tiff.js CHANGED
@@ -114,6 +114,8 @@ export class Tiff {
114
114
  return this;
115
115
  // limit the read to the size of the file if it is known, for small tiffs
116
116
  const bytes = new DataView(await this.source.fetch(0, getMaxLength(this.source, 0, this.defaultReadSize)));
117
+ if (bytes.byteLength === 0)
118
+ throw new Error('Unable to read empty tiff');
117
119
  bytes.sourceOffset = 0;
118
120
  let offset = 0;
119
121
  const endian = bytes.getUint16(offset, this.isLittleEndian);
@@ -196,10 +198,10 @@ Object.defineProperty(Tiff, "DefaultReadSize", {
196
198
  value: 16 * 1024
197
199
  });
198
200
  function getMaxLength(source, offset, length) {
201
+ const size = source.metadata?.size;
199
202
  // max length is unknown, roll the dice and hope the chunk exists
200
- if (source.metadata?.size == null)
203
+ if (size == null || size < 0)
201
204
  return length;
202
- const size = source.metadata.size;
203
205
  // Read was going to happen past the end of the file limit it to the end of the file
204
206
  if (offset + length > size)
205
207
  return size - offset;
package/build/tiff.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tiff.js","sourceRoot":"","sources":["../src/tiff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tiff.js","sourceRoot":"","sources":["../src/tiff.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cogeotiff/core",
3
- "version": "9.1.0",
3
+ "version": "9.1.2",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/blacha/cogeotiff.git",
@@ -23,5 +23,5 @@
23
23
  "publishConfig": {
24
24
  "access": "public"
25
25
  },
26
- "gitHead": "ec8605ad429408eaac5503acb2bc9c1f96790abb"
26
+ "gitHead": "4781a6375adf419da9f0319d15c8a67284dfb0c4"
27
27
  }
@@ -50,6 +50,13 @@ describe('CogRead', () => {
50
50
  validate(tiff);
51
51
  });
52
52
 
53
+ it('should fail reading a empty byte tiff', async () => {
54
+ const source = new SourceMemory(Buffer.from(''));
55
+ const tiff = new Tiff(source);
56
+ const ret = await tiff.init().catch((e) => String(e));
57
+ assert.equal(String(ret), 'Error: Unable to read empty tiff');
58
+ });
59
+
53
60
  it('should read tiff', async () => {
54
61
  const source = new TestFileSource(new URL('../../data/cog.tiff', import.meta.url));
55
62
  const tiff = new Tiff(source);
@@ -11,6 +11,8 @@ export enum TiffTagValueType {
11
11
  SignedRational = 10,
12
12
  Float32 = 11,
13
13
  Float64 = 12,
14
+ // IFD offset: https://owl.phy.queensu.ca/~phil/exiftool/standards.html
15
+ Ifd = 13,
14
16
  // BigTiff
15
17
  Uint64 = 16,
16
18
  Int64 = 17,
@@ -32,6 +32,7 @@ function readTagValue(
32
32
  return bytes.getInt16(offset, isLittleEndian);
33
33
 
34
34
  case TiffTagValueType.Uint32:
35
+ case TiffTagValueType.Ifd:
35
36
  return bytes.getUint32(offset, isLittleEndian);
36
37
 
37
38
  case TiffTagValueType.Int32:
@@ -14,6 +14,7 @@ export function getTiffTagSize(fieldType: TiffTagValueType): ByteSize {
14
14
  case TiffTagValueType.Uint32:
15
15
  case TiffTagValueType.Int32:
16
16
  case TiffTagValueType.Float32:
17
+ case TiffTagValueType.Ifd:
17
18
  return 4;
18
19
  case TiffTagValueType.Rational:
19
20
  case TiffTagValueType.SignedRational:
package/src/tiff.ts CHANGED
@@ -84,6 +84,8 @@ export class Tiff {
84
84
  const bytes = new DataView(
85
85
  await this.source.fetch(0, getMaxLength(this.source, 0, this.defaultReadSize)),
86
86
  ) as DataViewOffset;
87
+ if (bytes.byteLength === 0) throw new Error('Unable to read empty tiff');
88
+
87
89
  bytes.sourceOffset = 0;
88
90
 
89
91
  let offset = 0;
@@ -171,9 +173,9 @@ export class Tiff {
171
173
  }
172
174
 
173
175
  function getMaxLength(source: Source, offset: number, length: number): number {
176
+ const size = source.metadata?.size;
174
177
  // max length is unknown, roll the dice and hope the chunk exists
175
- if (source.metadata?.size == null) return length;
176
- const size = source.metadata.size;
178
+ if (size == null || size < 0) return length;
177
179
 
178
180
  // Read was going to happen past the end of the file limit it to the end of the file
179
181
  if (offset + length > size) return size - offset;