diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2016-12-12 14:42:56 +0100 |
---|---|---|
committer | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2016-12-12 15:47:51 +0100 |
commit | a280b82f8ea9ef5fc1aa6e2357d27d9d91219173 (patch) | |
tree | 826665046ac73a69255a1ee61755b30b2081c99c | |
parent | 42240de04ce95e458b7b05cfa8357dae40e90b35 (diff) |
show bug in logging: erratic redirection to DLGLOBAL for first invalid category
Add a check to logging_test.c to show a bug: when a logging category value that
is the first out-of-bounds value is passed to the logging system, the internal
map_subsys() fails to redirect to DLGLOBAL due to a flawed conditional. This
results in a too large array index and undefined behavior. A sanitize build
should catch this.
The bug is confirmed by the fact that logging_test.err stays the same
(hopefully) although a logging output should appear from this patch. The test
could as well segfault or anything else, it's a bit of a gamble.
This bug will be fixed along with the expectation in a subsequent patch.
Change-Id: I12bf38b6c1f85e2d7bf5a15f942dfe0beed41eba
-rw-r--r-- | tests/logging/logging_test.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/tests/logging/logging_test.c b/tests/logging/logging_test.c index 6c5a8f20..3cc6c5b2 100644 --- a/tests/logging/logging_test.c +++ b/tests/logging/logging_test.c @@ -115,6 +115,7 @@ int main(int argc, char **argv) log_parse_category_mask(stderr_target, "DLGLOBAL,1"); DEBUGP(osmo_log_info->num_cat + 1, "You should see this on DLGLOBAL (a)\n"); DEBUGP(osmo_log_info->num_cat + 100, "You should see this on DLGLOBAL (b)\n"); + DEBUGP(osmo_log_info->num_cat, "You should see this on DLGLOBAL (c)\n"); return 0; } |