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
This commit is contained in:
Max Bruckner 2017-02-18 02:31:42 +01:00
parent 4785070ad3
commit c5a09a32a9
15 changed files with 117 additions and 17 deletions

View File

@ -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;

View File

@ -1,4 +1,4 @@
{
bf{
"glossary": {
"title": "example glossary",
"GlossDiv": {

View File

@ -1 +1 @@
["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
bf["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]

View File

@ -1,4 +1,4 @@
{
bf{
"name": "Jack (\"Bee\") Nimble",
"format": {"type": "rect",
"width": 1920,

View File

@ -1,4 +1,4 @@
{"menu": {
bf{"menu": {
"id": "file",
"value": "File",
"popup": {

View File

@ -1,4 +1,4 @@
{"widget": {
bf{"widget": {
"debug": "on",
"window": {
"title": "Sample Konfabulator Widget",
@ -23,4 +23,4 @@
"alignment": "center",
"onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"
}
}}
}}

26
fuzzing/inputs/test3.bu Normal file
View File

@ -0,0 +1,26 @@
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;"
}
}}

26
fuzzing/inputs/test3.uf Normal file
View File

@ -0,0 +1,26 @@
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;"
}
}}

26
fuzzing/inputs/test3.uu Normal file
View File

@ -0,0 +1,26 @@
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;"
}
}}

View File

@ -1,4 +1,4 @@
{"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"}}}
"taglib-location": "/WEB-INF/tlds/cofax.tld"}}}

View File

@ -1,4 +1,4 @@
{"menu": {
bf{"menu": {
"header": "SVG Viewer",
"items": [
{"id": "Open"},

View File

@ -1,4 +1,4 @@
<!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>
</html>

View File

@ -1,4 +1,4 @@
[
bf[
{
"precision": "zip",
"Latitude": 37.7668,

View File

@ -1,4 +1,4 @@
{
bf{
"Image": {
"Width": 800,
"Height": 600,

View File

@ -1,4 +1,4 @@
[
bf[
[0, -1, 0],
[1, 0, 0],
[0, 0, 1]