提交 c5a09a32 编写于 作者: M Max Bruckner

fuzzing: Fuzz different print methods

This is achieved by encoding the type of function used in the first two
bytes.

First byte:
b: buffered

Second byte:
f: formatted
上级 4785070a
......@@ -101,12 +101,12 @@ int main(int argc, char** argv)
filename = argv[1];
json = read_file(filename);
if (json == NULL)
if ((json == NULL) || (json[0] == '\0') || (json[1] == '\0'))
{
status = EXIT_FAILURE;
goto cleanup;
}
item = cJSON_Parse(json);
item = cJSON_Parse(json + 2);
if (item == NULL)
{
goto cleanup;
......@@ -114,7 +114,29 @@ int main(int argc, char** argv)
if ((argc == 3) && (strncmp(argv[2], "yes", 3) == 0))
{
printed_json = cJSON_Print(item);
int do_format = 0;
if (json[1] == 'f')
{
do_format = 1;
}
if (json[0] == 'b')
{
/* buffered printing */
printed_json = cJSON_PrintBuffered(item, 1, do_format);
}
else
{
/* unbuffered printing */
if (do_format)
{
printed_json = cJSON_Print(item);
}
else
{
printed_json = cJSON_PrintUnformatted(item);
}
}
if (printed_json == NULL)
{
status = EXIT_FAILURE;
......
{
bf{
"glossary": {
"title": "example glossary",
"GlossDiv": {
......
["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
bf["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
{
bf{
"name": "Jack (\"Bee\") Nimble",
"format": {"type": "rect",
"width": 1920,
......
{"menu": {
bf{"menu": {
"id": "file",
"value": "File",
"popup": {
......
{"widget": {
bf{"widget": {
"debug": "on",
"window": {
"title": "Sample Konfabulator Widget",
......@@ -23,4 +23,4 @@
"alignment": "center",
"onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"
}
}}
\ No newline at end of file
}}
bu{"widget": {
"debug": "on",
"window": {
"title": "Sample Konfabulator Widget",
"name": "main_window",
"width": 500,
"height": 500
},
"image": {
"src": "Images/Sun.png",
"name": "sun1",
"hOffset": 250,
"vOffset": 250,
"alignment": "center"
},
"text": {
"data": "Click Here",
"size": 36,
"style": "bold",
"name": "text1",
"hOffset": 250,
"vOffset": 100,
"alignment": "center",
"onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"
}
}}
uf{"widget": {
"debug": "on",
"window": {
"title": "Sample Konfabulator Widget",
"name": "main_window",
"width": 500,
"height": 500
},
"image": {
"src": "Images/Sun.png",
"name": "sun1",
"hOffset": 250,
"vOffset": 250,
"alignment": "center"
},
"text": {
"data": "Click Here",
"size": 36,
"style": "bold",
"name": "text1",
"hOffset": 250,
"vOffset": 100,
"alignment": "center",
"onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"
}
}}
uu{"widget": {
"debug": "on",
"window": {
"title": "Sample Konfabulator Widget",
"name": "main_window",
"width": 500,
"height": 500
},
"image": {
"src": "Images/Sun.png",
"name": "sun1",
"hOffset": 250,
"vOffset": 250,
"alignment": "center"
},
"text": {
"data": "Click Here",
"size": 36,
"style": "bold",
"name": "text1",
"hOffset": 250,
"vOffset": 100,
"alignment": "center",
"onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"
}
}}
{"web-app": {
bf{"web-app": {
"servlet": [
{
"servlet-name": "cofaxCDS",
......@@ -85,4 +85,4 @@
"taglib": {
"taglib-uri": "cofax.tld",
"taglib-location": "/WEB-INF/tlds/cofax.tld"}}}
\ No newline at end of file
"taglib-location": "/WEB-INF/tlds/cofax.tld"}}}
{"menu": {
bf{"menu": {
"header": "SVG Viewer",
"items": [
{"id": "Open"},
......
<!DOCTYPE html>
bf<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
......@@ -13,4 +13,4 @@
<p>Application Error</p>
</iframe>
</body>
</html>
\ No newline at end of file
</html>
[
bf[
{
"precision": "zip",
"Latitude": 37.7668,
......
{
bf{
"Image": {
"Width": 800,
"Height": 600,
......
[
bf[
[0, -1, 0],
[1, 0, 0],
[0, 0, 1]
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册