durable_rules 2.0.25 → 2.0.26

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0d29d64b26e30907d7563a20f41859e953ea2069
4
- data.tar.gz: 4f4fa3766f827c742777de0e5ad7d606f2b053af
3
+ metadata.gz: 66daf9319c034fbbd3d388eba124e64e12103fcb
4
+ data.tar.gz: 055312b7e94017d4e5e124e9f27c2fff97c9fc68
5
5
  SHA512:
6
- metadata.gz: 7aa638c38a20bcadb5fa3596db5a00d86e09eaa1fb51a30820aeabe1b0773505a7d5ad98a2d2a8c81261dbb0ee0faf0410e642856b09521f040240251aed7421
7
- data.tar.gz: ecf9939cc20c4ed92bc537b420173e60f711c283fc3f1dd14d15494c5e642f2fc46d0e9909275de6736dc959bbc5631d6f39419e920d6f41a35ac9b10b5daaa1
6
+ metadata.gz: 9df45551b2eaa89231fae586189169c282f5baf592b45e579503d58fb6d71ea1ef5ffc9f02027ff333062310942d741b2d4c57f982c540fd5a8b8e1ed2a666f3
7
+ data.tar.gz: d82b76e77d9debc73d3fde16793d70456e039bbf59c417a3471cf30869e1278f18065415e0ec5505f3d09c6c55ed66b5343546f45577c764936f63ae1b24a225
@@ -33,6 +33,8 @@
33
33
  #define ERR_NO_ACTION_AVAILABLE 310
34
34
  #define ERR_PROPERTY_NOT_FOUND 311
35
35
  #define ERR_OPERATION_NOT_SUPPORTED 312
36
+ #define ERR_EVENT_MAX_OBJECT_SIZE 313
37
+ #define ERR_EVENT_MAX_OBJECT_PROPERTY_SIZE 314
36
38
  #define ERR_PARSE_REGEX 501
37
39
  #define ERR_REGEX_MAX_TRANSITIONS 502
38
40
  #define ERR_REGEX_MAX_STATES 503
@@ -1378,8 +1378,17 @@ unsigned int getObjectProperty(jsonObject *jo,
1378
1378
  unsigned int setObjectProperty(jsonObject *jo,
1379
1379
  unsigned int hash,
1380
1380
  unsigned char type,
1381
- unsigned short valueOffset,
1382
- unsigned short valueLength) {
1381
+ unsigned int valueOffset,
1382
+ unsigned int valueLength) {
1383
+
1384
+ if (valueLength >= MAX_OBJECT_PROPERTY_SIZE) {
1385
+ return ERR_EVENT_MAX_OBJECT_PROPERTY_SIZE;
1386
+ }
1387
+
1388
+ if (valueOffset >= (MAX_OBJECT_SIZE - MAX_OBJECT_PROPERTY_SIZE)) {
1389
+ return ERR_EVENT_MAX_OBJECT_SIZE;
1390
+ }
1391
+
1383
1392
  jsonProperty *property = &jo->properties[jo->propertiesLength];
1384
1393
  ++jo->propertiesLength;
1385
1394
  if (jo->propertiesLength == MAX_OBJECT_PROPERTIES) {
@@ -1,5 +1,5 @@
1
1
 
2
- #include <time.h>
2
+ #include <time.h>
3
3
 
4
4
  #define HASH_ID 926444256
5
5
  #define HASH_SID 3593476751
@@ -18,6 +18,8 @@
18
18
 
19
19
  #define UNDEFINED_HASH_OFFSET 0
20
20
  #define MAX_OBJECT_PROPERTIES 255
21
+ #define MAX_OBJECT_SIZE 4294967296
22
+ #define MAX_OBJECT_PROPERTY_SIZE 16777216
21
23
  #define MAX_MESSAGE_FRAMES 16
22
24
  #define MAX_MESSAGE_INDEX_LENGTH 512
23
25
  #define MAX_LEFT_FRAME_INDEX_LENGTH 512
@@ -64,8 +66,8 @@ typedef struct pool {
64
66
  typedef struct jsonProperty {
65
67
  unsigned int hash;
66
68
  unsigned char type;
67
- unsigned short valueOffset;
68
- unsigned short valueLength;
69
+ unsigned int valueOffset;
70
+ unsigned int valueLength;
69
71
  union {
70
72
  long long i;
71
73
  double d;
@@ -193,8 +195,8 @@ unsigned int getObjectProperty(jsonObject *jo,
193
195
  unsigned int setObjectProperty(jsonObject *jo,
194
196
  unsigned int hash,
195
197
  unsigned char type,
196
- unsigned short valueOffset,
197
- unsigned short valueLength);
198
+ unsigned int valueOffset,
199
+ unsigned int valueLength);
198
200
 
199
201
  unsigned int constructObject(char *root,
200
202
  char *parentName,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: durable_rules
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.25
4
+ version: 2.0.26
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jesus Ruiz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-13 00:00:00.000000000 Z
11
+ date: 2020-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake