Skip to content

v1.0.2

Latest

Choose a tag to compare

@sshanks-kx sshanks-kx released this 12 Aug 11:34
2dfa9e5

Fix for parsing serialised data where the message has a self-referencing field.

In the following schemas, the 'parent' field could have caused an issue

proto2

message MessageLoopTest {
    optional string id = 1;
    optional string name = 2;
    optional string country = 3;
    optional MessageLoopTest parent = 4;
    optional double parentScalingFactor = 5;
}

proto3

message MessageLoopTest {
    string id = 1;
    string name = 2;
    string country = 3;
    MessageLoopTest parent = 4;
    double parentScalingFactor = 5;
 }

using the following q code would have caused a crash

scalars:("testID";"testName";"testCountry";(::);5.0);
x:.protobufkdb.serializeArrayFromList[`MessageLoopTest; scalars];
scalars~ .protobufkdb.parseArrayToList[`MessageLoopTest; x]          // crashed previously
scalars:("testID";"testName";"testCountry";("testID";"testName";"testCountry";(::);5.0);5.0);
x:.protobufkdb.serializeArrayFromList[`MessageLoopTest; scalars];
scalars~.protobufkdb.parseArrayToList[`MessageLoopTest; x]          // crashed previously

MacOS prebuilt binaries temporarily unavailable from release. Follow documentation for building from source.