err.code = KEKSSchemaErrNo;
} else if (KEKSStrEqual(&(schema->list[idxSchema].atom), CmdTake)) {
idxSchema = schema->list[idxSchema].next;
+ if (idxSchema == 0) {
+ err.code = KEKSSchemaErrInvalidSchema;
+ err.msg = "wrong number of args";
+ return err;
+ }
err.offSchema = schema->offsets[idxSchema];
switch (schema->list[idxSchema].atom.typ) {
case KEKSItemStr:
enum KEKSItemType expected[16] = {KEKSItemInvalid};
size_t idxExpected = 0;
idxSchema = schema->list[idxSchema].next;
+ if (idxSchema == 0) {
+ err.code = KEKSSchemaErrInvalidSchema;
+ err.msg = "wrong number of args";
+ return err;
+ }
while (idxSchema != 0) {
err.offSchema = schema->offsets[idxSchema];
if (schema->list[idxSchema].atom.typ != KEKSItemStr) {
err.code = KEKSSchemaErrNo;
} else {
idxSchema = schema->list[idxSchema].next;
+ if (idxSchema == 0) {
+ err.code = KEKSSchemaErrInvalidSchema;
+ err.msg = "wrong number of args";
+ return err;
+ }
err.offSchema = schema->offsets[idxSchema];
err.offData = data->offsets[*taken];
int64_t our = 0;
err.code = KEKSSchemaErrNo;
} else {
idxSchema = schema->list[idxSchema].next;
+ if (idxSchema == 0) {
+ err.code = KEKSSchemaErrInvalidSchema;
+ err.msg = "wrong number of args";
+ return err;
+ }
err.offSchema = schema->offsets[idxSchema];
err.offData = data->offsets[*taken];
int64_t our = 0;
}
} else if (KEKSStrEqual(&(schema->list[idxSchema].atom), CmdSchema)) {
idxSchema = schema->list[idxSchema].next;
+ if (idxSchema == 0) {
+ err.code = KEKSSchemaErrInvalidSchema;
+ err.msg = "wrong number of args";
+ return err;
+ }
err.offSchema = schema->offsets[idxSchema];
if (schema->list[idxSchema].atom.typ != KEKSItemStr) {
err.code = KEKSSchemaErrInvalidSchema;
}
} else if (KEKSStrEqual(&(schema->list[idxSchema].atom), CmdTimeMaxPrec)) {
idxSchema = schema->list[idxSchema].next;
+ if (idxSchema == 0) {
+ err.code = KEKSSchemaErrInvalidSchema;
+ err.msg = "wrong number of args";
+ return err;
+ }
err.offSchema = schema->offsets[idxSchema];
if (schema->list[idxSchema].atom.typ != KEKSItemPint) {
err.code = KEKSSchemaErrInvalidSchema;