Add missing fclose(3) of fmemopen(3) stream; it does not modify the data.
This commit is contained in:
@@ -39,20 +39,22 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
|
|||||||
struct eventlog *evlog = NULL;
|
struct eventlog *evlog = NULL;
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
|
|
||||||
/* Operate in-memory, do not fclose or it will free() data. */
|
/* Operate in-memory. */
|
||||||
fp = fmemopen((void *)data, size, "r");
|
fp = fmemopen((void *)data, size, "r");
|
||||||
if (fp == NULL)
|
if (fp == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* Parsed contents of an log.json file are stored in evlog. */
|
/* Parsed contents of an log.json file are stored in evlog. */
|
||||||
if ((evlog = calloc(1, sizeof(*evlog))) == NULL)
|
evlog = calloc(1, sizeof(*evlog));
|
||||||
return 0;
|
if (evlog != NULL) {
|
||||||
evlog->runuid = (uid_t)-1;
|
evlog->runuid = (uid_t)-1;
|
||||||
evlog->rungid = (gid_t)-1;
|
evlog->rungid = (gid_t)-1;
|
||||||
|
|
||||||
/* Try to parse buffer as a JSON-format I/O log info file. */
|
/* Try to parse buffer as a JSON-format I/O log info file. */
|
||||||
iolog_parse_loginfo_json(fp, "fuzz.json", evlog);
|
iolog_parse_loginfo_json(fp, "fuzz.json", evlog);
|
||||||
eventlog_free(evlog);
|
eventlog_free(evlog);
|
||||||
|
}
|
||||||
|
fclose(fp);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@@ -44,7 +44,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
|
|||||||
if (size < 5)
|
if (size < 5)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* Operate in-memory, do not fclose or it will free() data. */
|
/* Operate in-memory. */
|
||||||
sudoersin = fmemopen((void *)data, size, "r");
|
sudoersin = fmemopen((void *)data, size, "r");
|
||||||
if (sudoersin == NULL)
|
if (sudoersin == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
@@ -53,7 +53,10 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
|
|||||||
init_defaults();
|
init_defaults();
|
||||||
init_parser("sudoers", false, true);
|
init_parser("sudoers", false, true);
|
||||||
sudoersparse();
|
sudoersparse();
|
||||||
|
|
||||||
|
/* Cleanup. */
|
||||||
init_parser(NULL, false, true);
|
init_parser(NULL, false, true);
|
||||||
|
fclose(fp);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@@ -47,7 +47,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
|
|||||||
if (size < 5)
|
if (size < 5)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* Operate in-memory, do not fclose or it will free() data. */
|
/* Operate in-memory. */
|
||||||
fp = fmemopen((void *)data, size, "r");
|
fp = fmemopen((void *)data, size, "r");
|
||||||
if (fp == NULL)
|
if (fp == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
@@ -59,6 +59,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
|
|||||||
|
|
||||||
/* Cleanup. */
|
/* Cleanup. */
|
||||||
free_parse_tree(&parse_tree);
|
free_parse_tree(&parse_tree);
|
||||||
|
fclose(fp);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user