Compare commits
2
Commits
4bd1088018
...
241c29073b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
241c29073b | ||
|
|
abeaae7ed7 |
@@ -68,6 +68,15 @@ int main() {
|
||||
expectReject(json, "unknown key in strict root");
|
||||
}
|
||||
|
||||
// ---- invalid stack size is rejected without crashing ----
|
||||
{
|
||||
RootBuilder b(-1);
|
||||
char buf[] = "null";
|
||||
WeaselJsonStatus s = b.feed(buf, sizeof(buf) - 1);
|
||||
CHECK(s == WeaselJson_REJECT);
|
||||
printf("ok invalid stack size rejected, not crashed\n");
|
||||
}
|
||||
|
||||
{
|
||||
std::string json = R"({
|
||||
"name": "Ada É",
|
||||
|
||||
@@ -892,6 +892,10 @@ public:
|
||||
explicit RootBuilder(int stackSize = 1024) {{
|
||||
cb_ = makeCallbacks();
|
||||
parser_ = WeaselJsonParser_create(stackSize, &cb_, this, 0);
|
||||
if (!parser_) {{
|
||||
error_ = true;
|
||||
return;
|
||||
}}
|
||||
{self._ctor_body()}
|
||||
}}
|
||||
~RootBuilder() {{ if (parser_) WeaselJsonParser_destroy(parser_); }}
|
||||
|
||||
Reference in New Issue
Block a user