diff --git a/lib/libesp32/berry/src/be_bytecode.c b/lib/libesp32/berry/src/be_bytecode.c index a636567fa..8db2f90da 100644 --- a/lib/libesp32/berry/src/be_bytecode.c +++ b/lib/libesp32/berry/src/be_bytecode.c @@ -524,8 +524,8 @@ static void load_proto_table(bvm *vm, void *fp, bproto *proto, int info, int ver { int size = (int)load_long(fp); /* proto count */ if (size) { - bproto **p = be_malloc(vm, sizeof(bproto *) * size); - memset(p, 0, sizeof(bproto *) * size); + bproto **p = be_malloc(vm, sizeof(bproto *) * (size + 1)); + memset(p, 0, sizeof(bproto *) * (size + 1)); proto->ptab = p; proto->nproto = size; while (size--) {