node-opcua-binary-stream 2.69.0 → 2.74.0

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/LICENSE CHANGED
@@ -1,6 +1,8 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2014-2021 Etienne Rossignon
3
+ Copyright (c) 2022 Sterfive SAS - 833264583 RCS ORLEANS - France (https://www.sterfive.com)
4
+
5
+ Copyright (c) 2014-2022 Etienne Rossignon
4
6
 
5
7
  Permission is hereby granted, free of charge, to any person obtaining a copy of
6
8
  this software and associated documentation files (the "Software"), to deal in
@@ -32,6 +32,8 @@ import "util";
32
32
  *
33
33
  */
34
34
  export declare class BinaryStream {
35
+ static maxByteStringLength: number;
36
+ static maxStringLength: number;
35
37
  /**
36
38
  * the current position inside the buffer
37
39
  */
@@ -327,11 +327,14 @@ class BinaryStream {
327
327
  * @param length
328
328
  */
329
329
  readArrayBuffer(length) {
330
+ if (length > BinaryStream.maxByteStringLength) {
331
+ throw new Error(`maxStringLength(${BinaryStream.maxByteStringLength}) has been exceeded in BinaryStream.readArrayBuffer len=${length}`);
332
+ }
330
333
  // istanbul ignore next
331
334
  if (performCheck) {
332
335
  (0, node_opcua_assert_1.assert)(this.length + length <= this.buffer.length, "not enough bytes in buffer");
333
336
  }
334
- const slice = this.buffer.slice(this.length, this.length + length);
337
+ const slice = this.buffer.subarray(this.length, this.length + length);
335
338
  // istanbul ignore next
336
339
  if (performCheck) {
337
340
  (0, node_opcua_assert_1.assert)(slice.length === length);
@@ -358,6 +361,9 @@ class BinaryStream {
358
361
  if (bufLen === 0) {
359
362
  return zeroLengthBuffer;
360
363
  }
364
+ if (bufLen > BinaryStream.maxByteStringLength) {
365
+ throw new Error(`maxStringLength(${BinaryStream.maxByteStringLength}) has been exceeded in BinaryStream.readArrayBuffer len=${bufLen}`);
366
+ }
361
367
  // check that there is enough space in the buffer
362
368
  const remainingBytes = this.buffer.length - this.length;
363
369
  // istanbul ignore next
@@ -369,7 +375,7 @@ class BinaryStream {
369
375
  " left");
370
376
  }
371
377
  // create a shared memory buffer ! for speed
372
- const buf = this.buffer.slice(this.length, this.length + bufLen);
378
+ const buf = this.buffer.subarray(this.length, this.length + bufLen);
373
379
  this.length += bufLen;
374
380
  return buf;
375
381
  }
@@ -381,6 +387,9 @@ class BinaryStream {
381
387
  if (bufLen === 0) {
382
388
  return "";
383
389
  }
390
+ if (bufLen > BinaryStream.maxStringLength) {
391
+ throw new Error(`maxStringLength(${BinaryStream.maxStringLength}) has been exceeded in BinaryStream.readString len=${bufLen}`);
392
+ }
384
393
  // check that there is enough space in the buffer
385
394
  const remainingBytes = this.buffer.length - this.length;
386
395
  // istanbul ignore next
@@ -397,6 +406,8 @@ class BinaryStream {
397
406
  }
398
407
  }
399
408
  exports.BinaryStream = BinaryStream;
409
+ BinaryStream.maxByteStringLength = 16 * 1024 * 1024;
410
+ BinaryStream.maxStringLength = 16 * 1024;
400
411
  /**
401
412
  * @function calculateByteLength
402
413
  * calculate the size in bytes of a utf8 string
@@ -1 +1 @@
1
- {"version":3,"file":"binaryStream.js","sourceRoot":"","sources":["../source/binaryStream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binaryStream.js","sourceRoot":"","sources":["../source/binaryStream.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,gBAAc;AAEd,yDAA2C;AAC3C,qEAAwE;AAExE,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,YAAY;AAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC;AACvB,MAAM,YAAY,GAAG,KAAK,CAAC;AAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAa,YAAY;IAarB,YAAY,IAAiC;QACzC,IAAI,IAAI,KAAK,SAAS,EAAE;YACpB,IAAI,CAAC,MAAM,GAAG,IAAA,uDAA6B,EAAC,IAAI,CAAC,CAAC;SACrD;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACjC,IAAI,CAAC,MAAM,GAAG,IAAA,uDAA6B,EAAC,IAAI,CAAC,CAAC;SACrD;aAAM;YACH,IAAA,0BAAM,EAAC,IAAI,YAAY,MAAM,CAAC,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACtB;QACD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,CAAC;IAED;;;OAGG;IACI,MAAM;QACT,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAC,KAAa;QAC1B,uBAAuB;QACvB,IAAI,YAAY,EAAE;YACd,IAAA,0BAAM,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,4BAA4B,CAAC,CAAC;YAC5E,IAAA,0BAAM,EAAC,KAAK,IAAI,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC;SACxC;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IACrB,CAAC;IAED;;;OAGG;IACI,UAAU,CAAC,KAAa;QAC3B,uBAAuB;QACvB,IAAI,YAAY,EAAE;YACd,IAAA,0BAAM,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,4BAA4B,CAAC,CAAC;YAC5E,IAAA,0BAAM,EAAC,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,GAAG,EAAE,6BAA6B,CAAC,CAAC;SACpE;QACD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IACrB,CAAC;IAED;;;OAGG;IACI,UAAU,CAAC,KAAa;QAC3B,uBAAuB;QACvB,IAAI,YAAY,EAAE;YACd,IAAA,0BAAM,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,4BAA4B,CAAC,CAAC;SAC/E;QACD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IACrB,CAAC;IAED;;;OAGG;IACI,WAAW,CAAC,KAAa;QAC5B,uBAAuB;QACvB,IAAI,YAAY,EAAE;YACd,IAAA,0BAAM,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,4BAA4B,CAAC,CAAC;SAC/E;QACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IACrB,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,KAAa;QAC7B,uBAAuB;QACvB,IAAI,YAAY,EAAE;YACd,IAAA,0BAAM,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,4BAA4B,CAAC,CAAC;SAC/E;QACD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,KAAa;QAC5B,uBAAuB;QACvB,IAAI,YAAY,EAAE;YACd,IAAA,0BAAM,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,4BAA4B,CAAC,CAAC;YAC5E,IAAA,0BAAM,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YACxB,IAAA,0BAAM,EAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,SAAS,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB;;;;;YAKI;IACR,CAAC;IAED;;;OAGG;IACI,UAAU,CAAC,KAAa;QAC3B,uBAAuB;QACvB,IAAI,YAAY,EAAE;YACd,IAAA,0BAAM,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,4BAA4B,CAAC,CAAC;SAC/E;QACD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IACrB,CAAC;IAED;;;OAGG;IACI,WAAW,CAAC,KAAa;QAC5B,uBAAuB;QACvB,IAAI,YAAY,EAAE;YACd,IAAA,0BAAM,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,4BAA4B,CAAC,CAAC;SAC/E;QACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACI,gBAAgB,CAAC,QAAqB,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC;QACjE,uBAAuB;QACvB,IAAI,YAAY,EAAE;YACd,IAAA,0BAAM,EAAC,QAAQ,YAAY,WAAW,CAAC,CAAC;SAC3C;QACD,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;SAC3C;IACL,CAAC;IAED,+CAA+C;IAC/C,4BAA4B;IAC5B,EAAE;IACF,+CAA+C;IAC/C,gDAAgD;IAChD,yCAAyC;IACzC,0BAA0B;IAC1B,kBAAkB;IAClB,QAAQ;IACR,4FAA4F;IAC5F,IAAI;IAEJ;;;OAGG;IACI,QAAQ;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,SAAS;QACZ,uBAAuB;QACvB,IAAI,YAAY,EAAE;YACd,IAAA,0BAAM,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACjD;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACI,SAAS;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACI,UAAU;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACI,WAAW;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACI,UAAU;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACI,SAAS;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACI,UAAU;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACI,eAAe,CAAC,GAAW;QAC9B,IAAI,CAAC,GAAG,EAAE;YACN,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO;SACV;QACD,IAAA,0BAAM,EAAC,GAAG,YAAY,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9B,uDAAuD;QACvD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAExD,0BAA0B;QAC1B,IAAI,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE;YAC7B,MAAM,IAAI,KAAK,CACX,0FAA0F;gBACtF,GAAG,CAAC,MAAM;gBACV,YAAY;gBACZ,cAAc;gBACd,OAAO,CACd,CAAC;SACL;QACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC;IAC9B,CAAC;IAEM,WAAW,CAAC,KAAoB;QACnC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;YACvC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC7B,OAAO;SACV;QACD,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC9B,IAAI,UAAU,KAAK,CAAC,EAAE;YAClB,OAAO;SACV;QACD,uDAAuD;QACvD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACxD,0BAA0B;QAC1B,IAAI,cAAc,GAAG,UAAU,EAAE;YAC7B,MAAM,IAAI,KAAK,CACX,0FAA0F;gBACtF,UAAU;gBACV,YAAY;gBACZ,cAAc;gBACd,OAAO,CACd,CAAC;SACL;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC;IAC9B,CAAC;IAED,iDAAiD;IACjD,wFAAwF;IACxF,+DAA+D;IAC/D,6EAA6E;IAC7E,6BAA6B;IAC7B,sBAAsB;IACtB,IAAI;IACJ;;;OAGG;IACI,eAAe,CAAC,MAAc;QACjC,IAAI,MAAM,GAAG,YAAY,CAAC,mBAAmB,EAAE;YAC3C,MAAM,IAAI,KAAK,CAAC,mBAAmB,YAAY,CAAC,mBAAmB,2DAA2D,MAAM,EAAE,CAAC,CAAC;SAC3I;QACD,uBAAuB;QACvB,IAAI,YAAY,EAAE;YACd,IAAA,0BAAM,EAAC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;SACpF;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QACtE,uBAAuB;QACvB,IAAI,YAAY,EAAE;YACd,IAAA,0BAAM,EAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;SACnC;QACD,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QACtC,uBAAuB;QACvB,IAAI,YAAY,EAAE;YACd,IAAA,0BAAM,EAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;SACrC;QACD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;QACtB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACI,cAAc;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,IAAI,MAAM,KAAK,UAAU,EAAE;YACvB,OAAO,IAAI,CAAC;SACf;QACD,IAAI,MAAM,KAAK,CAAC,EAAE;YACd,OAAO,gBAAgB,CAAC;SAC3B;QACD,IAAI,MAAM,GAAG,YAAY,CAAC,mBAAmB,EAAE;YAC3C,MAAM,IAAI,KAAK,CAAC,mBAAmB,YAAY,CAAC,mBAAmB,2DAA2D,MAAM,EAAE,CAAC,CAAC;SAC3I;QACD,iDAAiD;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACxD,uBAAuB;QACvB,IAAI,cAAc,GAAG,MAAM,EAAE;YACzB,MAAM,IAAI,KAAK,CACX,yFAAyF;gBACrF,MAAM;gBACN,YAAY;gBACZ,cAAc;gBACd,OAAO,CACd,CAAC;SACL;QACD,4CAA4C;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;QACtB,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,UAAU;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,IAAI,MAAM,KAAK,UAAU,EAAE;YACvB,OAAO,IAAI,CAAC;SACf;QACD,IAAI,MAAM,KAAK,CAAC,EAAE;YACd,OAAO,EAAE,CAAC;SACb;QACD,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,EAAE;YACvC,MAAM,IAAI,KAAK,CAAC,mBAAmB,YAAY,CAAC,eAAe,sDAAsD,MAAM,EAAE,CAAC,CAAC;SAClI;QACD,iDAAiD;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACxD,uBAAuB;QACvB,IAAI,cAAc,GAAG,MAAM,EAAE;YACzB,MAAM,IAAI,KAAK,CACX,yFAAyF;gBACrF,MAAM;gBACN,YAAY;gBACZ,cAAc;gBACd,OAAO,CACd,CAAC;SACL;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QAC7E,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;QACtB,OAAO,GAAG,CAAC;IACf,CAAC;;AAzZL,oCA0ZC;AAzZiB,gCAAmB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACvC,4BAAe,GAAG,EAAE,GAAG,IAAI,CAAC;AA0Z9C;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,GAAW;IAC3C,4CAA4C;IAC5C,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE;YAC9B,CAAC,EAAE,CAAC;SACP;aAAM,IAAI,IAAI,GAAG,KAAK,IAAI,IAAI,IAAI,MAAM,EAAE;YACvC,CAAC,IAAI,CAAC,CAAC;SACV;QACD,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE;YAClC,kBAAkB;YAClB,CAAC,EAAE,CAAC;SACP;KACJ;IACD,OAAO,CAAC,CAAC;AACb,CAAC;AAhBD,kDAgBC;AAED,MAAM,gBAAgB,GAAG,IAAA,uDAA6B,EAAC,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-opcua-binary-stream",
3
- "version": "2.69.0",
3
+ "version": "2.74.0",
4
4
  "description": "pure nodejs OPCUA SDK - module -binary-stream",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -11,11 +11,11 @@
11
11
  "lint": "eslint source/**/*.ts"
12
12
  },
13
13
  "dependencies": {
14
- "node-opcua-assert": "2.66.0",
15
- "node-opcua-buffer-utils": "2.69.0"
14
+ "node-opcua-assert": "2.74.0",
15
+ "node-opcua-buffer-utils": "2.74.0"
16
16
  },
17
17
  "devDependencies": {
18
- "node-opcua-benchmarker": "2.69.0",
18
+ "node-opcua-benchmarker": "2.74.0",
19
19
  "should": "^13.2.3"
20
20
  },
21
21
  "author": "Etienne Rossignon",
@@ -33,5 +33,5 @@
33
33
  "internet of things"
34
34
  ],
35
35
  "homepage": "http://node-opcua.github.io/",
36
- "gitHead": "6c88d05e8c82ce4bc9c8af9f0a8eb6136f31d2ce"
36
+ "gitHead": "003ee041795f3b737afaaef5721045ee31ea9f77"
37
37
  }
@@ -39,6 +39,8 @@ const performCheck = false;
39
39
  *
40
40
  */
41
41
  export class BinaryStream {
42
+ public static maxByteStringLength = 16 * 1024 * 1024;
43
+ public static maxStringLength = 16 * 1024;
42
44
  /**
43
45
  * the current position inside the buffer
44
46
  */
@@ -363,11 +365,14 @@ export class BinaryStream {
363
365
  * @param length
364
366
  */
365
367
  public readArrayBuffer(length: number): Uint8Array {
368
+ if (length > BinaryStream.maxByteStringLength) {
369
+ throw new Error(`maxStringLength(${BinaryStream.maxByteStringLength}) has been exceeded in BinaryStream.readArrayBuffer len=${length}`);
370
+ }
366
371
  // istanbul ignore next
367
372
  if (performCheck) {
368
373
  assert(this.length + length <= this.buffer.length, "not enough bytes in buffer");
369
374
  }
370
- const slice = this.buffer.slice(this.length, this.length + length);
375
+ const slice = this.buffer.subarray(this.length, this.length + length);
371
376
  // istanbul ignore next
372
377
  if (performCheck) {
373
378
  assert(slice.length === length);
@@ -395,6 +400,9 @@ export class BinaryStream {
395
400
  if (bufLen === 0) {
396
401
  return zeroLengthBuffer;
397
402
  }
403
+ if (bufLen > BinaryStream.maxByteStringLength) {
404
+ throw new Error(`maxStringLength(${BinaryStream.maxByteStringLength}) has been exceeded in BinaryStream.readArrayBuffer len=${bufLen}`);
405
+ }
398
406
  // check that there is enough space in the buffer
399
407
  const remainingBytes = this.buffer.length - this.length;
400
408
  // istanbul ignore next
@@ -408,7 +416,7 @@ export class BinaryStream {
408
416
  );
409
417
  }
410
418
  // create a shared memory buffer ! for speed
411
- const buf = this.buffer.slice(this.length, this.length + bufLen);
419
+ const buf = this.buffer.subarray(this.length, this.length + bufLen);
412
420
  this.length += bufLen;
413
421
  return buf;
414
422
  }
@@ -421,6 +429,9 @@ export class BinaryStream {
421
429
  if (bufLen === 0) {
422
430
  return "";
423
431
  }
432
+ if (bufLen > BinaryStream.maxStringLength) {
433
+ throw new Error(`maxStringLength(${BinaryStream.maxStringLength}) has been exceeded in BinaryStream.readString len=${bufLen}`);
434
+ }
424
435
  // check that there is enough space in the buffer
425
436
  const remainingBytes = this.buffer.length - this.length;
426
437
  // istanbul ignore next