GCC 12 static analyzer: use of uninitialized value '*ctx.val[1]' in base32.c
GCC 12.2.1 static analyzer (-fanalyzer
) from Fedora 37 identified the following errors in base32.c
.
Full GCC 12 static analyzer base32.c report
base32.c: In function 'base32_decode_char':
base32.c:209:38: warning: use of uninitialized value '*ctx.val[1]' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
209 | if ((ctx->val[1] & 0x03) != 0) {
| ~~~~~~~~^~~
'isc_base32hex_decoderegion': events 1-2
|
| 406 | isc_base32hex_decoderegion(isc_region_t *source, isc_buffer_t *target) {
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (1) entry to 'isc_base32hex_decoderegion'
| 407 | return (base32_decoderegion(source, base32hex, true, target));
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (2) calling 'base32_decoderegion' from 'isc_base32hex_decoderegion'
|
+--> 'base32_decoderegion': events 3-6
|
| 386 | base32_decoderegion(isc_region_t *source, const char base[], bool pad,
| | ^~~~~~~~~~~~~~~~~~~
| | |
| | (3) entry to 'base32_decoderegion'
| 387 | isc_buffer_t *target) {
| 388 | base32_decode_ctx_t ctx;
| | ~~~
| | |
| | (4) region created on stack here
|......
| 391 | while (source->length != 0) {
| | ~~~~~~~~~~~~~~~~~~~
| | |
| | (5) following 'true' branch...
| 392 | int c = *source->base;
| | ~~~
| | |
| | (6) ...to here
|
'base32_decoderegion': event 7
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (7) calling 'base32_decode_char' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 8-15
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (8) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (9) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (11) following 'false' branch (when 's' is non-NULL)...
| | (10) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (12) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (13) following 'false' branch...
|......
| 242 | ctx->val[ctx->digits++] = (last == 32) ? 0 : last;
| | ~~~
| | |
| | (14) ...to here
| 243 |
| 244 | if (ctx->digits == 8) {
| | ~
| | |
| | (15) following 'false' branch...
|
'base32_decode_char': event 16
|
|cc1:
| (16): ...to here
|
<------+
|
'base32_decoderegion': event 17
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (17) returning to 'base32_decoderegion' from 'base32_decode_char'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
'base32_decoderegion': event 18
|
| 28 | if (_r != ISC_R_SUCCESS) \
| | ^
| | |
| | (18) following 'false' branch (when '_r == 0')...
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 19
|
| 26 | do { \
| | ^
| | |
| | (19) ...to here
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 20
|
|./include/isc/assertions.h:57:10:
| 57 | ((void)((cond) || \
| | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (20) following 'true' branch...
| 58 | ((isc_assertion_failed)(__FILE__, __LINE__, \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 59 | isc_assertiontype_insist, #cond), \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 60 | 0)))
| | ~~~~
./include/isc/util.h:316:22: note: in expansion of macro 'ISC_INSIST'
| 316 | #define INSIST(e) ISC_INSIST(e)
| | ^~~~~~~~~~
./include/isc/region.h:54:17: note: in expansion of macro 'INSIST'
| 54 | INSIST(_r->length >= _l); \
| | ^~~~~~
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': event 21
|
|./include/isc/region.h:55:17:
| 55 | _r->base += _l; \
| | ^~
| | |
| | (21) ...to here
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': events 22-23
|
| 391 | while (source->length != 0) {
| | ~~~~~~~~~~~~~~~^~~~
| | |
| | (22) following 'true' branch...
| 392 | int c = *source->base;
| | ~~~
| | |
| | (23) ...to here
|
'base32_decoderegion': event 24
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (24) calling 'base32_decode_char' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 25-38
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (25) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (26) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (28) following 'false' branch (when 's' is non-NULL)...
| | (27) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (29) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~
| | |
| | (30) following 'false' branch (when 'last == 32')...
|......
| 194 | if (last == 32 && !ctx->pad) {
| | ~~~~~~~~~~~~~~~~~~~~~~~
| | | |
| | | (31) ...to here
| | (32) following 'true' branch...
|......
| 203 | if (last == 32 && ctx->seen_32 == 0) {
| | ~~ ~
| | | |
| | | (34) following 'true' branch...
| | (33) ...to here
| 204 | switch (ctx->digits) {
| | ~~~~~~
| | |
| | (35) ...to here
| | (36) following 'case 2:' branch...
|......
| 208 | case 2:
| | ~~~~
| | |
| | (37) ...to here
| 209 | if ((ctx->val[1] & 0x03) != 0) {
| | ~~~~~~~~~~~
| | |
| | (38) use of uninitialized value '*ctx.val[1]' here
|
base32.c:209:38: warning: use of uninitialized value '*ctx.val[1]' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
209 | if ((ctx->val[1] & 0x03) != 0) {
| ~~~~~~~~^~~
'isc_base32_decoderegion': events 1-2
|
| 401 | isc_base32_decoderegion(isc_region_t *source, isc_buffer_t *target) {
| | ^~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (1) entry to 'isc_base32_decoderegion'
| 402 | return (base32_decoderegion(source, base32, true, target));
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (2) calling 'base32_decoderegion' from 'isc_base32_decoderegion'
|
+--> 'base32_decoderegion': events 3-6
|
| 386 | base32_decoderegion(isc_region_t *source, const char base[], bool pad,
| | ^~~~~~~~~~~~~~~~~~~
| | |
| | (3) entry to 'base32_decoderegion'
| 387 | isc_buffer_t *target) {
| 388 | base32_decode_ctx_t ctx;
| | ~~~
| | |
| | (4) region created on stack here
|......
| 391 | while (source->length != 0) {
| | ~~~~~~~~~~~~~~~~~~~
| | |
| | (5) following 'true' branch...
| 392 | int c = *source->base;
| | ~~~
| | |
| | (6) ...to here
|
'base32_decoderegion': event 7
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (7) calling 'base32_decode_char' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 8-15
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (8) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (9) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (11) following 'false' branch (when 's' is non-NULL)...
| | (10) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (12) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (13) following 'false' branch...
|......
| 242 | ctx->val[ctx->digits++] = (last == 32) ? 0 : last;
| | ~~~
| | |
| | (14) ...to here
| 243 |
| 244 | if (ctx->digits == 8) {
| | ~
| | |
| | (15) following 'false' branch...
|
'base32_decode_char': event 16
|
|cc1:
| (16): ...to here
|
<------+
|
'base32_decoderegion': event 17
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (17) returning to 'base32_decoderegion' from 'base32_decode_char'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
'base32_decoderegion': event 18
|
| 28 | if (_r != ISC_R_SUCCESS) \
| | ^
| | |
| | (18) following 'false' branch (when '_r == 0')...
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 19
|
| 26 | do { \
| | ^
| | |
| | (19) ...to here
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 20
|
|./include/isc/assertions.h:57:10:
| 57 | ((void)((cond) || \
| | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (20) following 'true' branch...
| 58 | ((isc_assertion_failed)(__FILE__, __LINE__, \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 59 | isc_assertiontype_insist, #cond), \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 60 | 0)))
| | ~~~~
./include/isc/util.h:316:22: note: in expansion of macro 'ISC_INSIST'
| 316 | #define INSIST(e) ISC_INSIST(e)
| | ^~~~~~~~~~
./include/isc/region.h:54:17: note: in expansion of macro 'INSIST'
| 54 | INSIST(_r->length >= _l); \
| | ^~~~~~
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': event 21
|
|./include/isc/region.h:55:17:
| 55 | _r->base += _l; \
| | ^~
| | |
| | (21) ...to here
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': events 22-23
|
| 391 | while (source->length != 0) {
| | ~~~~~~~~~~~~~~~^~~~
| | |
| | (22) following 'true' branch...
| 392 | int c = *source->base;
| | ~~~
| | |
| | (23) ...to here
|
'base32_decoderegion': event 24
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (24) calling 'base32_decode_char' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 25-38
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (25) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (26) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (28) following 'false' branch (when 's' is non-NULL)...
| | (27) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (29) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~
| | |
| | (30) following 'false' branch (when 'last == 32')...
|......
| 194 | if (last == 32 && !ctx->pad) {
| | ~~~~~~~~~~~~~~~~~~~~~~~
| | | |
| | | (31) ...to here
| | (32) following 'true' branch...
|......
| 203 | if (last == 32 && ctx->seen_32 == 0) {
| | ~~ ~
| | | |
| | | (34) following 'true' branch...
| | (33) ...to here
| 204 | switch (ctx->digits) {
| | ~~~~~~
| | |
| | (35) ...to here
| | (36) following 'case 2:' branch...
|......
| 208 | case 2:
| | ~~~~
| | |
| | (37) ...to here
| 209 | if ((ctx->val[1] & 0x03) != 0) {
| | ~~~~~~~~~~~
| | |
| | (38) use of uninitialized value '*ctx.val[1]' here
|
base32.c:209:38: warning: use of uninitialized value '*ctx.val[1]' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
209 | if ((ctx->val[1] & 0x03) != 0) {
| ~~~~~~~~^~~
'isc_base32hexnp_decoderegion': events 1-2
|
| 411 | isc_base32hexnp_decoderegion(isc_region_t *source, isc_buffer_t *target) {
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (1) entry to 'isc_base32hexnp_decoderegion'
| 412 | return (base32_decoderegion(source, base32hex, false, target));
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (2) calling 'base32_decoderegion' from 'isc_base32hexnp_decoderegion'
|
+--> 'base32_decoderegion': events 3-4
|
| 386 | base32_decoderegion(isc_region_t *source, const char base[], bool pad,
| | ^~~~~~~~~~~~~~~~~~~
| | |
| | (3) entry to 'base32_decoderegion'
| 387 | isc_buffer_t *target) {
| 388 | base32_decode_ctx_t ctx;
| | ~~~
| | |
| | (4) region created on stack here
|
'base32_decoderegion': event 5
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (5) calling 'base32_decode_char' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 6-13
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (6) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (7) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (9) following 'false' branch (when 's' is non-NULL)...
| | (8) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (10) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (11) following 'false' branch...
|......
| 242 | ctx->val[ctx->digits++] = (last == 32) ? 0 : last;
| | ~~~
| | |
| | (12) ...to here
| 243 |
| 244 | if (ctx->digits == 8) {
| | ~
| | |
| | (13) following 'false' branch...
|
'base32_decode_char': event 14
|
|cc1:
| (14): ...to here
|
<------+
|
'base32_decoderegion': event 15
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (15) returning to 'base32_decoderegion' from 'base32_decode_char'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
'base32_decoderegion': event 16
|
| 28 | if (_r != ISC_R_SUCCESS) \
| | ^
| | |
| | (16) following 'false' branch (when '_r == 0')...
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 17
|
| 26 | do { \
| | ^
| | |
| | (17) ...to here
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 18
|
|./include/isc/assertions.h:57:10:
| 57 | ((void)((cond) || \
| | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (18) following 'true' branch...
| 58 | ((isc_assertion_failed)(__FILE__, __LINE__, \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 59 | isc_assertiontype_insist, #cond), \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 60 | 0)))
| | ~~~~
./include/isc/util.h:316:22: note: in expansion of macro 'ISC_INSIST'
| 316 | #define INSIST(e) ISC_INSIST(e)
| | ^~~~~~~~~~
./include/isc/region.h:54:17: note: in expansion of macro 'INSIST'
| 54 | INSIST(_r->length >= _l); \
| | ^~~~~~
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': event 19
|
|./include/isc/region.h:55:17:
| 55 | _r->base += _l; \
| | ^~
| | |
| | (19) ...to here
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': event 20
|
| 391 | while (source->length != 0) {
| | ~~~~~~~~~~~~~~~^~~~
| | |
| | (20) following 'false' branch...
|
'base32_decoderegion': event 21
|
| 26 | do { \
| | ^~
| | |
| | (21) ...to here
base32.c:396:9: note: in expansion of macro 'RETERR'
| 396 | RETERR(base32_decode_finish(&ctx));
| | ^~~~~~
|
'base32_decoderegion': event 22
|
| 396 | RETERR(base32_decode_finish(&ctx));
| | ^
| | |
| | (22) calling 'base32_decode_finish' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_finish': events 23-29
|
| 273 | base32_decode_finish(base32_decode_ctx_t *ctx) {
| | ^~~~~~~~~~~~~~~~~~~~
| | |
| | (23) entry to 'base32_decode_finish'
| 274 | if (ctx->length > 0) {
| | ~
| | |
| | (24) following 'false' branch...
|......
| 280 | if (!ctx->pad && ctx->digits != 0) {
| | ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | | | | |
| | | | | (27) ...to here
| | | | (28) following 'true' branch...
| | | (26) following 'false' branch...
| | (25) ...to here
| 281 | ctx->pad = true;
| | ~~~
| | |
| | (29) ...to here
|
'base32_decode_finish': event 30
|
| 283 | RETERR(base32_decode_char(ctx, '='));
| | ^
| | |
| | (30) calling 'base32_decode_char' from 'base32_decode_finish'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 31-44
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (31) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (32) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (34) following 'false' branch (when 's' is non-NULL)...
| | (33) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (35) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~
| | |
| | (36) following 'false' branch (when 'last == 32')...
|......
| 194 | if (last == 32 && !ctx->pad) {
| | ~~~~~~~~~~~~~~~~~~~~~~~
| | | |
| | | (37) ...to here
| | (38) following 'true' branch...
|......
| 203 | if (last == 32 && ctx->seen_32 == 0) {
| | ~~ ~
| | | |
| | | (40) following 'true' branch...
| | (39) ...to here
| 204 | switch (ctx->digits) {
| | ~~~~~~
| | |
| | (41) ...to here
| | (42) following 'case 2:' branch...
|......
| 208 | case 2:
| | ~~~~
| | |
| | (43) ...to here
| 209 | if ((ctx->val[1] & 0x03) != 0) {
| | ~~~~~~~~~~~
| | |
| | (44) use of uninitialized value '*ctx.val[1]' here
|
base32.c:217:38: warning: use of uninitialized value '*ctx.val[3]' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
217 | if ((ctx->val[3] & 0x0f) != 0) {
| ~~~~~~~~^~~
'isc_base32hex_decoderegion': events 1-2
|
| 406 | isc_base32hex_decoderegion(isc_region_t *source, isc_buffer_t *target) {
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (1) entry to 'isc_base32hex_decoderegion'
| 407 | return (base32_decoderegion(source, base32hex, true, target));
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (2) calling 'base32_decoderegion' from 'isc_base32hex_decoderegion'
|
+--> 'base32_decoderegion': events 3-6
|
| 386 | base32_decoderegion(isc_region_t *source, const char base[], bool pad,
| | ^~~~~~~~~~~~~~~~~~~
| | |
| | (3) entry to 'base32_decoderegion'
| 387 | isc_buffer_t *target) {
| 388 | base32_decode_ctx_t ctx;
| | ~~~
| | |
| | (4) region created on stack here
|......
| 391 | while (source->length != 0) {
| | ~~~~~~~~~~~~~~~~~~~
| | |
| | (5) following 'true' branch...
| 392 | int c = *source->base;
| | ~~~
| | |
| | (6) ...to here
|
'base32_decoderegion': event 7
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (7) calling 'base32_decode_char' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 8-15
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (8) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (9) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (11) following 'false' branch (when 's' is non-NULL)...
| | (10) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (12) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (13) following 'false' branch...
|......
| 242 | ctx->val[ctx->digits++] = (last == 32) ? 0 : last;
| | ~~~
| | |
| | (14) ...to here
| 243 |
| 244 | if (ctx->digits == 8) {
| | ~
| | |
| | (15) following 'false' branch...
|
'base32_decode_char': event 16
|
|cc1:
| (16): ...to here
|
<------+
|
'base32_decoderegion': event 17
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (17) returning to 'base32_decoderegion' from 'base32_decode_char'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
'base32_decoderegion': event 18
|
| 28 | if (_r != ISC_R_SUCCESS) \
| | ^
| | |
| | (18) following 'false' branch (when '_r == 0')...
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 19
|
| 26 | do { \
| | ^
| | |
| | (19) ...to here
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 20
|
|./include/isc/assertions.h:57:10:
| 57 | ((void)((cond) || \
| | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (20) following 'true' branch...
| 58 | ((isc_assertion_failed)(__FILE__, __LINE__, \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 59 | isc_assertiontype_insist, #cond), \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 60 | 0)))
| | ~~~~
./include/isc/util.h:316:22: note: in expansion of macro 'ISC_INSIST'
| 316 | #define INSIST(e) ISC_INSIST(e)
| | ^~~~~~~~~~
./include/isc/region.h:54:17: note: in expansion of macro 'INSIST'
| 54 | INSIST(_r->length >= _l); \
| | ^~~~~~
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': event 21
|
|./include/isc/region.h:55:17:
| 55 | _r->base += _l; \
| | ^~
| | |
| | (21) ...to here
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': events 22-23
|
| 391 | while (source->length != 0) {
| | ~~~~~~~~~~~~~~~^~~~
| | |
| | (22) following 'true' branch...
| 392 | int c = *source->base;
| | ~~~
| | |
| | (23) ...to here
|
'base32_decoderegion': event 24
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (24) calling 'base32_decode_char' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 25-38
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (25) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (26) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (28) following 'false' branch (when 's' is non-NULL)...
| | (27) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (29) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~
| | |
| | (30) following 'false' branch (when 'last == 32')...
|......
| 194 | if (last == 32 && !ctx->pad) {
| | ~~~~~~~~~~~~~~~~~~~~~~~
| | | |
| | | (31) ...to here
| | (32) following 'true' branch...
|......
| 203 | if (last == 32 && ctx->seen_32 == 0) {
| | ~~ ~
| | | |
| | | (34) following 'true' branch...
| | (33) ...to here
| 204 | switch (ctx->digits) {
| | ~~~~~~
| | |
| | (35) ...to here
| | (36) following 'case 4:' branch...
|......
| 216 | case 4:
| | ~~~~
| | |
| | (37) ...to here
| 217 | if ((ctx->val[3] & 0x0f) != 0) {
| | ~~~~~~~~~~~
| | |
| | (38) use of uninitialized value '*ctx.val[3]' here
|
base32.c:217:38: warning: use of uninitialized value '*ctx.val[3]' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
217 | if ((ctx->val[3] & 0x0f) != 0) {
| ~~~~~~~~^~~
'isc_base32_decoderegion': events 1-2
|
| 401 | isc_base32_decoderegion(isc_region_t *source, isc_buffer_t *target) {
| | ^~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (1) entry to 'isc_base32_decoderegion'
| 402 | return (base32_decoderegion(source, base32, true, target));
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (2) calling 'base32_decoderegion' from 'isc_base32_decoderegion'
|
+--> 'base32_decoderegion': events 3-6
|
| 386 | base32_decoderegion(isc_region_t *source, const char base[], bool pad,
| | ^~~~~~~~~~~~~~~~~~~
| | |
| | (3) entry to 'base32_decoderegion'
| 387 | isc_buffer_t *target) {
| 388 | base32_decode_ctx_t ctx;
| | ~~~
| | |
| | (4) region created on stack here
|......
| 391 | while (source->length != 0) {
| | ~~~~~~~~~~~~~~~~~~~
| | |
| | (5) following 'true' branch...
| 392 | int c = *source->base;
| | ~~~
| | |
| | (6) ...to here
|
'base32_decoderegion': event 7
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (7) calling 'base32_decode_char' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 8-15
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (8) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (9) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (11) following 'false' branch (when 's' is non-NULL)...
| | (10) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (12) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (13) following 'false' branch...
|......
| 242 | ctx->val[ctx->digits++] = (last == 32) ? 0 : last;
| | ~~~
| | |
| | (14) ...to here
| 243 |
| 244 | if (ctx->digits == 8) {
| | ~
| | |
| | (15) following 'false' branch...
|
'base32_decode_char': event 16
|
|cc1:
| (16): ...to here
|
<------+
|
'base32_decoderegion': event 17
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (17) returning to 'base32_decoderegion' from 'base32_decode_char'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
'base32_decoderegion': event 18
|
| 28 | if (_r != ISC_R_SUCCESS) \
| | ^
| | |
| | (18) following 'false' branch (when '_r == 0')...
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 19
|
| 26 | do { \
| | ^
| | |
| | (19) ...to here
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 20
|
|./include/isc/assertions.h:57:10:
| 57 | ((void)((cond) || \
| | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (20) following 'true' branch...
| 58 | ((isc_assertion_failed)(__FILE__, __LINE__, \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 59 | isc_assertiontype_insist, #cond), \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 60 | 0)))
| | ~~~~
./include/isc/util.h:316:22: note: in expansion of macro 'ISC_INSIST'
| 316 | #define INSIST(e) ISC_INSIST(e)
| | ^~~~~~~~~~
./include/isc/region.h:54:17: note: in expansion of macro 'INSIST'
| 54 | INSIST(_r->length >= _l); \
| | ^~~~~~
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': event 21
|
|./include/isc/region.h:55:17:
| 55 | _r->base += _l; \
| | ^~
| | |
| | (21) ...to here
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': events 22-23
|
| 391 | while (source->length != 0) {
| | ~~~~~~~~~~~~~~~^~~~
| | |
| | (22) following 'true' branch...
| 392 | int c = *source->base;
| | ~~~
| | |
| | (23) ...to here
|
'base32_decoderegion': event 24
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (24) calling 'base32_decode_char' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 25-38
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (25) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (26) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (28) following 'false' branch (when 's' is non-NULL)...
| | (27) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (29) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~
| | |
| | (30) following 'false' branch (when 'last == 32')...
|......
| 194 | if (last == 32 && !ctx->pad) {
| | ~~~~~~~~~~~~~~~~~~~~~~~
| | | |
| | | (31) ...to here
| | (32) following 'true' branch...
|......
| 203 | if (last == 32 && ctx->seen_32 == 0) {
| | ~~ ~
| | | |
| | | (34) following 'true' branch...
| | (33) ...to here
| 204 | switch (ctx->digits) {
| | ~~~~~~
| | |
| | (35) ...to here
| | (36) following 'case 4:' branch...
|......
| 216 | case 4:
| | ~~~~
| | |
| | (37) ...to here
| 217 | if ((ctx->val[3] & 0x0f) != 0) {
| | ~~~~~~~~~~~
| | |
| | (38) use of uninitialized value '*ctx.val[3]' here
|
base32.c:217:38: warning: use of uninitialized value '*ctx.val[3]' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
217 | if ((ctx->val[3] & 0x0f) != 0) {
| ~~~~~~~~^~~
'isc_base32hexnp_decoderegion': events 1-2
|
| 411 | isc_base32hexnp_decoderegion(isc_region_t *source, isc_buffer_t *target) {
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (1) entry to 'isc_base32hexnp_decoderegion'
| 412 | return (base32_decoderegion(source, base32hex, false, target));
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (2) calling 'base32_decoderegion' from 'isc_base32hexnp_decoderegion'
|
+--> 'base32_decoderegion': events 3-4
|
| 386 | base32_decoderegion(isc_region_t *source, const char base[], bool pad,
| | ^~~~~~~~~~~~~~~~~~~
| | |
| | (3) entry to 'base32_decoderegion'
| 387 | isc_buffer_t *target) {
| 388 | base32_decode_ctx_t ctx;
| | ~~~
| | |
| | (4) region created on stack here
|
'base32_decoderegion': event 5
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (5) calling 'base32_decode_char' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 6-13
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (6) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (7) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (9) following 'false' branch (when 's' is non-NULL)...
| | (8) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (10) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (11) following 'false' branch...
|......
| 242 | ctx->val[ctx->digits++] = (last == 32) ? 0 : last;
| | ~~~
| | |
| | (12) ...to here
| 243 |
| 244 | if (ctx->digits == 8) {
| | ~
| | |
| | (13) following 'false' branch...
|
'base32_decode_char': event 14
|
|cc1:
| (14): ...to here
|
<------+
|
'base32_decoderegion': event 15
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (15) returning to 'base32_decoderegion' from 'base32_decode_char'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
'base32_decoderegion': event 16
|
| 28 | if (_r != ISC_R_SUCCESS) \
| | ^
| | |
| | (16) following 'false' branch (when '_r == 0')...
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 17
|
| 26 | do { \
| | ^
| | |
| | (17) ...to here
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 18
|
|./include/isc/assertions.h:57:10:
| 57 | ((void)((cond) || \
| | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (18) following 'true' branch...
| 58 | ((isc_assertion_failed)(__FILE__, __LINE__, \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 59 | isc_assertiontype_insist, #cond), \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 60 | 0)))
| | ~~~~
./include/isc/util.h:316:22: note: in expansion of macro 'ISC_INSIST'
| 316 | #define INSIST(e) ISC_INSIST(e)
| | ^~~~~~~~~~
./include/isc/region.h:54:17: note: in expansion of macro 'INSIST'
| 54 | INSIST(_r->length >= _l); \
| | ^~~~~~
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': event 19
|
|./include/isc/region.h:55:17:
| 55 | _r->base += _l; \
| | ^~
| | |
| | (19) ...to here
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': event 20
|
| 391 | while (source->length != 0) {
| | ~~~~~~~~~~~~~~~^~~~
| | |
| | (20) following 'false' branch...
|
'base32_decoderegion': event 21
|
| 26 | do { \
| | ^~
| | |
| | (21) ...to here
base32.c:396:9: note: in expansion of macro 'RETERR'
| 396 | RETERR(base32_decode_finish(&ctx));
| | ^~~~~~
|
'base32_decoderegion': event 22
|
| 396 | RETERR(base32_decode_finish(&ctx));
| | ^
| | |
| | (22) calling 'base32_decode_finish' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_finish': events 23-29
|
| 273 | base32_decode_finish(base32_decode_ctx_t *ctx) {
| | ^~~~~~~~~~~~~~~~~~~~
| | |
| | (23) entry to 'base32_decode_finish'
| 274 | if (ctx->length > 0) {
| | ~
| | |
| | (24) following 'false' branch...
|......
| 280 | if (!ctx->pad && ctx->digits != 0) {
| | ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | | | | |
| | | | | (27) ...to here
| | | | (28) following 'true' branch...
| | | (26) following 'false' branch...
| | (25) ...to here
| 281 | ctx->pad = true;
| | ~~~
| | |
| | (29) ...to here
|
'base32_decode_finish': event 30
|
| 283 | RETERR(base32_decode_char(ctx, '='));
| | ^
| | |
| | (30) calling 'base32_decode_char' from 'base32_decode_finish'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 31-44
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (31) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (32) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (34) following 'false' branch (when 's' is non-NULL)...
| | (33) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (35) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~
| | |
| | (36) following 'false' branch (when 'last == 32')...
|......
| 194 | if (last == 32 && !ctx->pad) {
| | ~~~~~~~~~~~~~~~~~~~~~~~
| | | |
| | | (37) ...to here
| | (38) following 'true' branch...
|......
| 203 | if (last == 32 && ctx->seen_32 == 0) {
| | ~~ ~
| | | |
| | | (40) following 'true' branch...
| | (39) ...to here
| 204 | switch (ctx->digits) {
| | ~~~~~~
| | |
| | (41) ...to here
| | (42) following 'case 4:' branch...
|......
| 216 | case 4:
| | ~~~~
| | |
| | (43) ...to here
| 217 | if ((ctx->val[3] & 0x0f) != 0) {
| | ~~~~~~~~~~~
| | |
| | (44) use of uninitialized value '*ctx.val[3]' here
|
base32.c:223:38: warning: use of uninitialized value '*ctx.val[4]' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
223 | if ((ctx->val[4] & 0x01) != 0) {
| ~~~~~~~~^~~
'isc_base32hex_decoderegion': events 1-2
|
| 406 | isc_base32hex_decoderegion(isc_region_t *source, isc_buffer_t *target) {
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (1) entry to 'isc_base32hex_decoderegion'
| 407 | return (base32_decoderegion(source, base32hex, true, target));
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (2) calling 'base32_decoderegion' from 'isc_base32hex_decoderegion'
|
+--> 'base32_decoderegion': events 3-6
|
| 386 | base32_decoderegion(isc_region_t *source, const char base[], bool pad,
| | ^~~~~~~~~~~~~~~~~~~
| | |
| | (3) entry to 'base32_decoderegion'
| 387 | isc_buffer_t *target) {
| 388 | base32_decode_ctx_t ctx;
| | ~~~
| | |
| | (4) region created on stack here
|......
| 391 | while (source->length != 0) {
| | ~~~~~~~~~~~~~~~~~~~
| | |
| | (5) following 'true' branch...
| 392 | int c = *source->base;
| | ~~~
| | |
| | (6) ...to here
|
'base32_decoderegion': event 7
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (7) calling 'base32_decode_char' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 8-15
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (8) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (9) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (11) following 'false' branch (when 's' is non-NULL)...
| | (10) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (12) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (13) following 'false' branch...
|......
| 242 | ctx->val[ctx->digits++] = (last == 32) ? 0 : last;
| | ~~~
| | |
| | (14) ...to here
| 243 |
| 244 | if (ctx->digits == 8) {
| | ~
| | |
| | (15) following 'false' branch...
|
'base32_decode_char': event 16
|
|cc1:
| (16): ...to here
|
<------+
|
'base32_decoderegion': event 17
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (17) returning to 'base32_decoderegion' from 'base32_decode_char'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
'base32_decoderegion': event 18
|
| 28 | if (_r != ISC_R_SUCCESS) \
| | ^
| | |
| | (18) following 'false' branch (when '_r == 0')...
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 19
|
| 26 | do { \
| | ^
| | |
| | (19) ...to here
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 20
|
|./include/isc/assertions.h:57:10:
| 57 | ((void)((cond) || \
| | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (20) following 'true' branch...
| 58 | ((isc_assertion_failed)(__FILE__, __LINE__, \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 59 | isc_assertiontype_insist, #cond), \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 60 | 0)))
| | ~~~~
./include/isc/util.h:316:22: note: in expansion of macro 'ISC_INSIST'
| 316 | #define INSIST(e) ISC_INSIST(e)
| | ^~~~~~~~~~
./include/isc/region.h:54:17: note: in expansion of macro 'INSIST'
| 54 | INSIST(_r->length >= _l); \
| | ^~~~~~
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': event 21
|
|./include/isc/region.h:55:17:
| 55 | _r->base += _l; \
| | ^~
| | |
| | (21) ...to here
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': events 22-23
|
| 391 | while (source->length != 0) {
| | ~~~~~~~~~~~~~~~^~~~
| | |
| | (22) following 'true' branch...
| 392 | int c = *source->base;
| | ~~~
| | |
| | (23) ...to here
|
'base32_decoderegion': event 24
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (24) calling 'base32_decode_char' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 25-38
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (25) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (26) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (28) following 'false' branch (when 's' is non-NULL)...
| | (27) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (29) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~
| | |
| | (30) following 'false' branch (when 'last == 32')...
|......
| 194 | if (last == 32 && !ctx->pad) {
| | ~~~~~~~~~~~~~~~~~~~~~~~
| | | |
| | | (31) ...to here
| | (32) following 'true' branch...
|......
| 203 | if (last == 32 && ctx->seen_32 == 0) {
| | ~~ ~
| | | |
| | | (34) following 'true' branch...
| | (33) ...to here
| 204 | switch (ctx->digits) {
| | ~~~~~~
| | |
| | (35) ...to here
| | (36) following 'case 5:' branch...
|......
| 222 | case 5:
| | ~~~~
| | |
| | (37) ...to here
| 223 | if ((ctx->val[4] & 0x01) != 0) {
| | ~~~~~~~~~~~
| | |
| | (38) use of uninitialized value '*ctx.val[4]' here
|
base32.c:223:38: warning: use of uninitialized value '*ctx.val[4]' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
223 | if ((ctx->val[4] & 0x01) != 0) {
| ~~~~~~~~^~~
'isc_base32_decoderegion': events 1-2
|
| 401 | isc_base32_decoderegion(isc_region_t *source, isc_buffer_t *target) {
| | ^~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (1) entry to 'isc_base32_decoderegion'
| 402 | return (base32_decoderegion(source, base32, true, target));
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (2) calling 'base32_decoderegion' from 'isc_base32_decoderegion'
|
+--> 'base32_decoderegion': events 3-6
|
| 386 | base32_decoderegion(isc_region_t *source, const char base[], bool pad,
| | ^~~~~~~~~~~~~~~~~~~
| | |
| | (3) entry to 'base32_decoderegion'
| 387 | isc_buffer_t *target) {
| 388 | base32_decode_ctx_t ctx;
| | ~~~
| | |
| | (4) region created on stack here
|......
| 391 | while (source->length != 0) {
| | ~~~~~~~~~~~~~~~~~~~
| | |
| | (5) following 'true' branch...
| 392 | int c = *source->base;
| | ~~~
| | |
| | (6) ...to here
|
'base32_decoderegion': event 7
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (7) calling 'base32_decode_char' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 8-15
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (8) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (9) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (11) following 'false' branch (when 's' is non-NULL)...
| | (10) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (12) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (13) following 'false' branch...
|......
| 242 | ctx->val[ctx->digits++] = (last == 32) ? 0 : last;
| | ~~~
| | |
| | (14) ...to here
| 243 |
| 244 | if (ctx->digits == 8) {
| | ~
| | |
| | (15) following 'false' branch...
|
'base32_decode_char': event 16
|
|cc1:
| (16): ...to here
|
<------+
|
'base32_decoderegion': event 17
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (17) returning to 'base32_decoderegion' from 'base32_decode_char'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
'base32_decoderegion': event 18
|
| 28 | if (_r != ISC_R_SUCCESS) \
| | ^
| | |
| | (18) following 'false' branch (when '_r == 0')...
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 19
|
| 26 | do { \
| | ^
| | |
| | (19) ...to here
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 20
|
|./include/isc/assertions.h:57:10:
| 57 | ((void)((cond) || \
| | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (20) following 'true' branch...
| 58 | ((isc_assertion_failed)(__FILE__, __LINE__, \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 59 | isc_assertiontype_insist, #cond), \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 60 | 0)))
| | ~~~~
./include/isc/util.h:316:22: note: in expansion of macro 'ISC_INSIST'
| 316 | #define INSIST(e) ISC_INSIST(e)
| | ^~~~~~~~~~
./include/isc/region.h:54:17: note: in expansion of macro 'INSIST'
| 54 | INSIST(_r->length >= _l); \
| | ^~~~~~
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': event 21
|
|./include/isc/region.h:55:17:
| 55 | _r->base += _l; \
| | ^~
| | |
| | (21) ...to here
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': events 22-23
|
| 391 | while (source->length != 0) {
| | ~~~~~~~~~~~~~~~^~~~
| | |
| | (22) following 'true' branch...
| 392 | int c = *source->base;
| | ~~~
| | |
| | (23) ...to here
|
'base32_decoderegion': event 24
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (24) calling 'base32_decode_char' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 25-38
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (25) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (26) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (28) following 'false' branch (when 's' is non-NULL)...
| | (27) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (29) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~
| | |
| | (30) following 'false' branch (when 'last == 32')...
|......
| 194 | if (last == 32 && !ctx->pad) {
| | ~~~~~~~~~~~~~~~~~~~~~~~
| | | |
| | | (31) ...to here
| | (32) following 'true' branch...
|......
| 203 | if (last == 32 && ctx->seen_32 == 0) {
| | ~~ ~
| | | |
| | | (34) following 'true' branch...
| | (33) ...to here
| 204 | switch (ctx->digits) {
| | ~~~~~~
| | |
| | (35) ...to here
| | (36) following 'case 5:' branch...
|......
| 222 | case 5:
| | ~~~~
| | |
| | (37) ...to here
| 223 | if ((ctx->val[4] & 0x01) != 0) {
| | ~~~~~~~~~~~
| | |
| | (38) use of uninitialized value '*ctx.val[4]' here
|
base32.c:223:38: warning: use of uninitialized value '*ctx.val[4]' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
223 | if ((ctx->val[4] & 0x01) != 0) {
| ~~~~~~~~^~~
'isc_base32hexnp_decoderegion': events 1-2
|
| 411 | isc_base32hexnp_decoderegion(isc_region_t *source, isc_buffer_t *target) {
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (1) entry to 'isc_base32hexnp_decoderegion'
| 412 | return (base32_decoderegion(source, base32hex, false, target));
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (2) calling 'base32_decoderegion' from 'isc_base32hexnp_decoderegion'
|
+--> 'base32_decoderegion': events 3-4
|
| 386 | base32_decoderegion(isc_region_t *source, const char base[], bool pad,
| | ^~~~~~~~~~~~~~~~~~~
| | |
| | (3) entry to 'base32_decoderegion'
| 387 | isc_buffer_t *target) {
| 388 | base32_decode_ctx_t ctx;
| | ~~~
| | |
| | (4) region created on stack here
|
'base32_decoderegion': event 5
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (5) calling 'base32_decode_char' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 6-13
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (6) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (7) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (9) following 'false' branch (when 's' is non-NULL)...
| | (8) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (10) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (11) following 'false' branch...
|......
| 242 | ctx->val[ctx->digits++] = (last == 32) ? 0 : last;
| | ~~~
| | |
| | (12) ...to here
| 243 |
| 244 | if (ctx->digits == 8) {
| | ~
| | |
| | (13) following 'false' branch...
|
'base32_decode_char': event 14
|
|cc1:
| (14): ...to here
|
<------+
|
'base32_decoderegion': event 15
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (15) returning to 'base32_decoderegion' from 'base32_decode_char'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
'base32_decoderegion': event 16
|
| 28 | if (_r != ISC_R_SUCCESS) \
| | ^
| | |
| | (16) following 'false' branch (when '_r == 0')...
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 17
|
| 26 | do { \
| | ^
| | |
| | (17) ...to here
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 18
|
|./include/isc/assertions.h:57:10:
| 57 | ((void)((cond) || \
| | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (18) following 'true' branch...
| 58 | ((isc_assertion_failed)(__FILE__, __LINE__, \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 59 | isc_assertiontype_insist, #cond), \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 60 | 0)))
| | ~~~~
./include/isc/util.h:316:22: note: in expansion of macro 'ISC_INSIST'
| 316 | #define INSIST(e) ISC_INSIST(e)
| | ^~~~~~~~~~
./include/isc/region.h:54:17: note: in expansion of macro 'INSIST'
| 54 | INSIST(_r->length >= _l); \
| | ^~~~~~
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': event 19
|
|./include/isc/region.h:55:17:
| 55 | _r->base += _l; \
| | ^~
| | |
| | (19) ...to here
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': event 20
|
| 391 | while (source->length != 0) {
| | ~~~~~~~~~~~~~~~^~~~
| | |
| | (20) following 'false' branch...
|
'base32_decoderegion': event 21
|
| 26 | do { \
| | ^~
| | |
| | (21) ...to here
base32.c:396:9: note: in expansion of macro 'RETERR'
| 396 | RETERR(base32_decode_finish(&ctx));
| | ^~~~~~
|
'base32_decoderegion': event 22
|
| 396 | RETERR(base32_decode_finish(&ctx));
| | ^
| | |
| | (22) calling 'base32_decode_finish' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_finish': events 23-29
|
| 273 | base32_decode_finish(base32_decode_ctx_t *ctx) {
| | ^~~~~~~~~~~~~~~~~~~~
| | |
| | (23) entry to 'base32_decode_finish'
| 274 | if (ctx->length > 0) {
| | ~
| | |
| | (24) following 'false' branch...
|......
| 280 | if (!ctx->pad && ctx->digits != 0) {
| | ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | | | | |
| | | | | (27) ...to here
| | | | (28) following 'true' branch...
| | | (26) following 'false' branch...
| | (25) ...to here
| 281 | ctx->pad = true;
| | ~~~
| | |
| | (29) ...to here
|
'base32_decode_finish': event 30
|
| 283 | RETERR(base32_decode_char(ctx, '='));
| | ^
| | |
| | (30) calling 'base32_decode_char' from 'base32_decode_finish'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 31-44
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (31) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (32) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (34) following 'false' branch (when 's' is non-NULL)...
| | (33) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (35) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~
| | |
| | (36) following 'false' branch (when 'last == 32')...
|......
| 194 | if (last == 32 && !ctx->pad) {
| | ~~~~~~~~~~~~~~~~~~~~~~~
| | | |
| | | (37) ...to here
| | (38) following 'true' branch...
|......
| 203 | if (last == 32 && ctx->seen_32 == 0) {
| | ~~ ~
| | | |
| | | (40) following 'true' branch...
| | (39) ...to here
| 204 | switch (ctx->digits) {
| | ~~~~~~
| | |
| | (41) ...to here
| | (42) following 'case 5:' branch...
|......
| 222 | case 5:
| | ~~~~
| | |
| | (43) ...to here
| 223 | if ((ctx->val[4] & 0x01) != 0) {
| | ~~~~~~~~~~~
| | |
| | (44) use of uninitialized value '*ctx.val[4]' here
|
base32.c:231:38: warning: use of uninitialized value '*ctx.val[6]' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
231 | if ((ctx->val[6] & 0x07) != 0) {
| ~~~~~~~~^~~
'isc_base32hex_decoderegion': events 1-2
|
| 406 | isc_base32hex_decoderegion(isc_region_t *source, isc_buffer_t *target) {
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (1) entry to 'isc_base32hex_decoderegion'
| 407 | return (base32_decoderegion(source, base32hex, true, target));
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (2) calling 'base32_decoderegion' from 'isc_base32hex_decoderegion'
|
+--> 'base32_decoderegion': events 3-6
|
| 386 | base32_decoderegion(isc_region_t *source, const char base[], bool pad,
| | ^~~~~~~~~~~~~~~~~~~
| | |
| | (3) entry to 'base32_decoderegion'
| 387 | isc_buffer_t *target) {
| 388 | base32_decode_ctx_t ctx;
| | ~~~
| | |
| | (4) region created on stack here
|......
| 391 | while (source->length != 0) {
| | ~~~~~~~~~~~~~~~~~~~
| | |
| | (5) following 'true' branch...
| 392 | int c = *source->base;
| | ~~~
| | |
| | (6) ...to here
|
'base32_decoderegion': event 7
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (7) calling 'base32_decode_char' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 8-15
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (8) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (9) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (11) following 'false' branch (when 's' is non-NULL)...
| | (10) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (12) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (13) following 'false' branch...
|......
| 242 | ctx->val[ctx->digits++] = (last == 32) ? 0 : last;
| | ~~~
| | |
| | (14) ...to here
| 243 |
| 244 | if (ctx->digits == 8) {
| | ~
| | |
| | (15) following 'false' branch...
|
'base32_decode_char': event 16
|
|cc1:
| (16): ...to here
|
<------+
|
'base32_decoderegion': event 17
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (17) returning to 'base32_decoderegion' from 'base32_decode_char'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
'base32_decoderegion': event 18
|
| 28 | if (_r != ISC_R_SUCCESS) \
| | ^
| | |
| | (18) following 'false' branch (when '_r == 0')...
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 19
|
| 26 | do { \
| | ^
| | |
| | (19) ...to here
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 20
|
|./include/isc/assertions.h:57:10:
| 57 | ((void)((cond) || \
| | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (20) following 'true' branch...
| 58 | ((isc_assertion_failed)(__FILE__, __LINE__, \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 59 | isc_assertiontype_insist, #cond), \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 60 | 0)))
| | ~~~~
./include/isc/util.h:316:22: note: in expansion of macro 'ISC_INSIST'
| 316 | #define INSIST(e) ISC_INSIST(e)
| | ^~~~~~~~~~
./include/isc/region.h:54:17: note: in expansion of macro 'INSIST'
| 54 | INSIST(_r->length >= _l); \
| | ^~~~~~
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': event 21
|
|./include/isc/region.h:55:17:
| 55 | _r->base += _l; \
| | ^~
| | |
| | (21) ...to here
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': events 22-23
|
| 391 | while (source->length != 0) {
| | ~~~~~~~~~~~~~~~^~~~
| | |
| | (22) following 'true' branch...
| 392 | int c = *source->base;
| | ~~~
| | |
| | (23) ...to here
|
'base32_decoderegion': event 24
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (24) calling 'base32_decode_char' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 25-38
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (25) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (26) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (28) following 'false' branch (when 's' is non-NULL)...
| | (27) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (29) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~
| | |
| | (30) following 'false' branch (when 'last == 32')...
|......
| 194 | if (last == 32 && !ctx->pad) {
| | ~~~~~~~~~~~~~~~~~~~~~~~
| | | |
| | | (31) ...to here
| | (32) following 'true' branch...
|......
| 203 | if (last == 32 && ctx->seen_32 == 0) {
| | ~~ ~
| | | |
| | | (34) following 'true' branch...
| | (33) ...to here
| 204 | switch (ctx->digits) {
| | ~~~~~~
| | |
| | (35) ...to here
| | (36) following 'case 7:' branch...
|......
| 230 | case 7:
| | ~~~~
| | |
| | (37) ...to here
| 231 | if ((ctx->val[6] & 0x07) != 0) {
| | ~~~~~~~~~~~
| | |
| | (38) use of uninitialized value '*ctx.val[6]' here
|
base32.c:231:38: warning: use of uninitialized value '*ctx.val[6]' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
231 | if ((ctx->val[6] & 0x07) != 0) {
| ~~~~~~~~^~~
'isc_base32_decoderegion': events 1-2
|
| 401 | isc_base32_decoderegion(isc_region_t *source, isc_buffer_t *target) {
| | ^~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (1) entry to 'isc_base32_decoderegion'
| 402 | return (base32_decoderegion(source, base32, true, target));
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (2) calling 'base32_decoderegion' from 'isc_base32_decoderegion'
|
+--> 'base32_decoderegion': events 3-6
|
| 386 | base32_decoderegion(isc_region_t *source, const char base[], bool pad,
| | ^~~~~~~~~~~~~~~~~~~
| | |
| | (3) entry to 'base32_decoderegion'
| 387 | isc_buffer_t *target) {
| 388 | base32_decode_ctx_t ctx;
| | ~~~
| | |
| | (4) region created on stack here
|......
| 391 | while (source->length != 0) {
| | ~~~~~~~~~~~~~~~~~~~
| | |
| | (5) following 'true' branch...
| 392 | int c = *source->base;
| | ~~~
| | |
| | (6) ...to here
|
'base32_decoderegion': event 7
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (7) calling 'base32_decode_char' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 8-15
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (8) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (9) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (11) following 'false' branch (when 's' is non-NULL)...
| | (10) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (12) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (13) following 'false' branch...
|......
| 242 | ctx->val[ctx->digits++] = (last == 32) ? 0 : last;
| | ~~~
| | |
| | (14) ...to here
| 243 |
| 244 | if (ctx->digits == 8) {
| | ~
| | |
| | (15) following 'false' branch...
|
'base32_decode_char': event 16
|
|cc1:
| (16): ...to here
|
<------+
|
'base32_decoderegion': event 17
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (17) returning to 'base32_decoderegion' from 'base32_decode_char'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
'base32_decoderegion': event 18
|
| 28 | if (_r != ISC_R_SUCCESS) \
| | ^
| | |
| | (18) following 'false' branch (when '_r == 0')...
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 19
|
| 26 | do { \
| | ^
| | |
| | (19) ...to here
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 20
|
|./include/isc/assertions.h:57:10:
| 57 | ((void)((cond) || \
| | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (20) following 'true' branch...
| 58 | ((isc_assertion_failed)(__FILE__, __LINE__, \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 59 | isc_assertiontype_insist, #cond), \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 60 | 0)))
| | ~~~~
./include/isc/util.h:316:22: note: in expansion of macro 'ISC_INSIST'
| 316 | #define INSIST(e) ISC_INSIST(e)
| | ^~~~~~~~~~
./include/isc/region.h:54:17: note: in expansion of macro 'INSIST'
| 54 | INSIST(_r->length >= _l); \
| | ^~~~~~
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': event 21
|
|./include/isc/region.h:55:17:
| 55 | _r->base += _l; \
| | ^~
| | |
| | (21) ...to here
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': events 22-23
|
| 391 | while (source->length != 0) {
| | ~~~~~~~~~~~~~~~^~~~
| | |
| | (22) following 'true' branch...
| 392 | int c = *source->base;
| | ~~~
| | |
| | (23) ...to here
|
'base32_decoderegion': event 24
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (24) calling 'base32_decode_char' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 25-38
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (25) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (26) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (28) following 'false' branch (when 's' is non-NULL)...
| | (27) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (29) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~
| | |
| | (30) following 'false' branch (when 'last == 32')...
|......
| 194 | if (last == 32 && !ctx->pad) {
| | ~~~~~~~~~~~~~~~~~~~~~~~
| | | |
| | | (31) ...to here
| | (32) following 'true' branch...
|......
| 203 | if (last == 32 && ctx->seen_32 == 0) {
| | ~~ ~
| | | |
| | | (34) following 'true' branch...
| | (33) ...to here
| 204 | switch (ctx->digits) {
| | ~~~~~~
| | |
| | (35) ...to here
| | (36) following 'case 7:' branch...
|......
| 230 | case 7:
| | ~~~~
| | |
| | (37) ...to here
| 231 | if ((ctx->val[6] & 0x07) != 0) {
| | ~~~~~~~~~~~
| | |
| | (38) use of uninitialized value '*ctx.val[6]' here
|
base32.c:231:38: warning: use of uninitialized value '*ctx.val[6]' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
231 | if ((ctx->val[6] & 0x07) != 0) {
| ~~~~~~~~^~~
'isc_base32hexnp_decoderegion': events 1-2
|
| 411 | isc_base32hexnp_decoderegion(isc_region_t *source, isc_buffer_t *target) {
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (1) entry to 'isc_base32hexnp_decoderegion'
| 412 | return (base32_decoderegion(source, base32hex, false, target));
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (2) calling 'base32_decoderegion' from 'isc_base32hexnp_decoderegion'
|
+--> 'base32_decoderegion': events 3-4
|
| 386 | base32_decoderegion(isc_region_t *source, const char base[], bool pad,
| | ^~~~~~~~~~~~~~~~~~~
| | |
| | (3) entry to 'base32_decoderegion'
| 387 | isc_buffer_t *target) {
| 388 | base32_decode_ctx_t ctx;
| | ~~~
| | |
| | (4) region created on stack here
|
'base32_decoderegion': event 5
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (5) calling 'base32_decode_char' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 6-13
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (6) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (7) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (9) following 'false' branch (when 's' is non-NULL)...
| | (8) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (10) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (11) following 'false' branch...
|......
| 242 | ctx->val[ctx->digits++] = (last == 32) ? 0 : last;
| | ~~~
| | |
| | (12) ...to here
| 243 |
| 244 | if (ctx->digits == 8) {
| | ~
| | |
| | (13) following 'false' branch...
|
'base32_decode_char': event 14
|
|cc1:
| (14): ...to here
|
<------+
|
'base32_decoderegion': event 15
|
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^
| | |
| | (15) returning to 'base32_decoderegion' from 'base32_decode_char'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
'base32_decoderegion': event 16
|
| 28 | if (_r != ISC_R_SUCCESS) \
| | ^
| | |
| | (16) following 'false' branch (when '_r == 0')...
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 17
|
| 26 | do { \
| | ^
| | |
| | (17) ...to here
base32.c:393:17: note: in expansion of macro 'RETERR'
| 393 | RETERR(base32_decode_char(&ctx, c));
| | ^~~~~~
|
'base32_decoderegion': event 18
|
|./include/isc/assertions.h:57:10:
| 57 | ((void)((cond) || \
| | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | (18) following 'true' branch...
| 58 | ((isc_assertion_failed)(__FILE__, __LINE__, \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 59 | isc_assertiontype_insist, #cond), \
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 60 | 0)))
| | ~~~~
./include/isc/util.h:316:22: note: in expansion of macro 'ISC_INSIST'
| 316 | #define INSIST(e) ISC_INSIST(e)
| | ^~~~~~~~~~
./include/isc/region.h:54:17: note: in expansion of macro 'INSIST'
| 54 | INSIST(_r->length >= _l); \
| | ^~~~~~
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': event 19
|
|./include/isc/region.h:55:17:
| 55 | _r->base += _l; \
| | ^~
| | |
| | (19) ...to here
base32.c:394:17: note: in expansion of macro 'isc_region_consume'
| 394 | isc_region_consume(source, 1);
| | ^~~~~~~~~~~~~~~~~~
|
'base32_decoderegion': event 20
|
| 391 | while (source->length != 0) {
| | ~~~~~~~~~~~~~~~^~~~
| | |
| | (20) following 'false' branch...
|
'base32_decoderegion': event 21
|
| 26 | do { \
| | ^~
| | |
| | (21) ...to here
base32.c:396:9: note: in expansion of macro 'RETERR'
| 396 | RETERR(base32_decode_finish(&ctx));
| | ^~~~~~
|
'base32_decoderegion': event 22
|
| 396 | RETERR(base32_decode_finish(&ctx));
| | ^
| | |
| | (22) calling 'base32_decode_finish' from 'base32_decoderegion'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_finish': events 23-29
|
| 273 | base32_decode_finish(base32_decode_ctx_t *ctx) {
| | ^~~~~~~~~~~~~~~~~~~~
| | |
| | (23) entry to 'base32_decode_finish'
| 274 | if (ctx->length > 0) {
| | ~
| | |
| | (24) following 'false' branch...
|......
| 280 | if (!ctx->pad && ctx->digits != 0) {
| | ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | | | | |
| | | | | (27) ...to here
| | | | (28) following 'true' branch...
| | | (26) following 'false' branch...
| | (25) ...to here
| 281 | ctx->pad = true;
| | ~~~
| | |
| | (29) ...to here
|
'base32_decode_finish': event 30
|
| 283 | RETERR(base32_decode_char(ctx, '='));
| | ^
| | |
| | (30) calling 'base32_decode_char' from 'base32_decode_finish'
base32.c:27:36: note: in definition of macro 'RETERR'
| 27 | isc_result_t _r = (x); \
| | ^
|
+--> 'base32_decode_char': events 31-44
|
| 165 | base32_decode_char(base32_decode_ctx_t *ctx, int c) {
| | ^~~~~~~~~~~~~~~~~~
| | |
| | (31) entry to 'base32_decode_char'
|......
| 169 | if (ctx->seen_end) {
| | ~
| | |
| | (32) following 'false' branch...
|......
| 172 | if ((s = strchr(ctx->base, c)) == NULL) {
| | ~~ ~
| | | |
| | | (34) following 'false' branch (when 's' is non-NULL)...
| | (33) ...to here
|......
| 175 | last = (unsigned int)(s - ctx->base);
| | ~~~~
| | |
| | (35) ...to here
|......
| 187 | if (last != 32 && ctx->seen_32 != 0) {
| | ~
| | |
| | (36) following 'false' branch (when 'last == 32')...
|......
| 194 | if (last == 32 && !ctx->pad) {
| | ~~~~~~~~~~~~~~~~~~~~~~~
| | | |
| | | (37) ...to here
| | (38) following 'true' branch...
|......
| 203 | if (last == 32 && ctx->seen_32 == 0) {
| | ~~ ~
| | | |
| | | (40) following 'true' branch...
| | (39) ...to here
| 204 | switch (ctx->digits) {
| | ~~~~~~
| | |
| | (41) ...to here
| | (42) following 'case 7:' branch...
|......
| 230 | case 7:
| | ~~~~
| | |
| | (43) ...to here
| 231 | if ((ctx->val[6] & 0x07) != 0) {
| | ~~~~~~~~~~~
| | |
| | (44) use of uninitialized value '*ctx.val[6]' here
|