Todd C. Miller
d415624ffc
Read command run_time, signal and exit_value from I/O log log.json file.
2021-10-19 08:58:33 -06:00
Todd C. Miller
3575e995a9
iolog_parse_json_object: optimize for large argv
2021-10-01 08:44:52 -06:00
Todd C. Miller
e047e99306
Use %td when printing the difference of two pointers.
2021-02-18 07:22:36 -07:00
Todd C. Miller
dc45ac5bc7
On parse error, display line and column instead of the offending line.
2021-02-17 11:29:08 -07:00
Todd C. Miller
4a279d5767
Pass I/O log memory allocation errors up to the caller.
2021-02-16 16:55:25 -07:00
Todd C. Miller
91351d57f4
Suppress PVS Studio false positives.
2021-02-08 16:31:03 -07:00
Todd C. Miller
47f08e986f
In JSON, name/value pairs must be separated by a comma.
...
Previously we didn't require the comma to be there.
2021-02-04 18:01:53 -07:00
Todd C. Miller
92cf172eda
Detect integer overflow when converting JSON_ARRAY to string vector.
...
Extremely unlikely to happen but better safe than sorry.
2021-02-04 16:10:35 -07:00
Todd C. Miller
2fd4a2ad71
Check for unexpected value after checking the name, not before.
2021-02-02 13:32:29 -07:00
Todd C. Miller
71997da168
Fix potential leak of evlog->runuser.
...
Also warn if we find an unexpected JSON type.
2021-02-02 10:27:27 -07:00
Todd C. Miller
4cd6350cad
Fix crashes trying to parse invalid JSON.
...
Found locally using libfuzzer/oss-fuzz.
2021-01-30 16:16:23 -07:00
Todd C. Miller
de82d08e70
Plug memory leak if a key is listed more than once in the log.json file.
2021-01-30 16:15:24 -07:00
Todd C. Miller
8781560e1b
In json_stack_push() treat stack exhaustion like memory allocation failure.
...
Return NULL instead of treating as a fatal error.
This should make life a little easier for oss-fuzz.
2021-01-29 09:23:51 -07:00
Todd C. Miller
db72498257
Use struct eventlog in place of struct iolog_info.
2020-10-26 15:31:41 -06:00
Todd C. Miller
bd254e1042
Read/write runchroot and runcwd entries in the JSON event log.
2020-09-01 06:26:05 -06:00
Todd C. Miller
961a4afe67
Fix some warnings from pvs-studio
2020-08-12 13:45:09 -06:00
Todd C. Miller
076d0376db
We no longer need to include sudo_gettext.h before sudo_compat.h
2020-08-12 09:50:35 -06:00
Todd C. Miller
446ae3f507
Include string.h unconditionally and only use strings.h for strn?casecmp()
...
In the pre-POSIX days BSD had strings.h, not string.h.
Now strings.h is only used for non-ANSI string functions.
2020-05-18 07:59:24 -06:00
Todd C. Miller
dd88460800
We no longer need to include headers we don't use for sudo*.h files.
...
Previously we needed to include headers required by the various
sudo*h files. Now those files are more self-sufficient and we
should only include headers needed by code in the various .c files.
2020-05-18 06:47:04 -06:00
Todd C. Miller
01ceba0445
Simply the JSON parsing code a bit.
...
We can use a single stack for nested objects and arrays.
There is also no need to track the current object and array separately.
This allows us to remove the array special case when assigning a value.
2020-03-29 05:05:08 -06:00
Todd C. Miller
3cd9cbbadf
Add tests for the simple json parser.
2020-03-29 05:05:08 -06:00
Todd C. Miller
056173e572
Parse I/O JSON info file in JSON if present.
...
The JSON version includes more information than the original "log"
file in the I/O log dir.
2020-03-29 05:05:08 -06:00