jq-1.8.1-1.fc44

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1]
jq-1.8.1/src/jv.c:519:7: warning[-Wanalyzer-malloc-leak]: leak of 'ctx'
jq-1.8.1/src/jv.c:515:9: acquire_memory: allocated here
jq-1.8.1/src/jv.c:516:6: branch_true: following 'true' branch (when 'ctx' is non-NULL)...
jq-1.8.1/src/jv.c:517:8: branch_true: ...to here
jq-1.8.1/src/jv.c:517:8: branch_true: following 'true' branch...
jq-1.8.1/src/jv.c:519:7: branch_true: ...to here
jq-1.8.1/src/jv.c:519:7: throw: if 'decContextDefault' throws an exception...
jq-1.8.1/src/jv.c:519:7: danger: 'ctx' leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  517|       if (key == &dec_ctx_key)
#  518|       {
#  519|->       decContextDefault(ctx, DEC_INIT_BASE);
#  520|         // make sure (Int)D2U(rhs->exponent-lhs->exponent) does not overflow
#  521|         ctx->digits = MIN(DEC_MAX_DIGITS,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def2]
jq-1.8.1/src/jv.h:52:39: warning[-Wanalyzer-malloc-leak]: leak of 'file'
jq-1.8.1/src/jv_file.c:12:4: enter_function: entry to 'jv_load_file'
jq-1.8.1/src/jv_file.c:15:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:20:7: branch_false: ...to here
jq-1.8.1/src/jv_file.c:20:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:26:16: acquire_memory: allocated here
jq-1.8.1/src/jv_file.c:29:6: branch_false: following 'false' branch (when 'file' is non-NULL)...
jq-1.8.1/src/jv_file.c:35:6: branch_false: ...to here
jq-1.8.1/src/jv_file.c:35:6: branch_false: following 'false' branch (when 'raw == 0')...
jq-1.8.1/src/jv_file.c:38:12: branch_false: ...to here
jq-1.8.1/src/jv_file.c:47:10: branch_true: following 'true' branch...
jq-1.8.1/src/jv_file.c:58:8: branch_false: following 'false' branch (when 'raw == 0')...
jq-1.8.1/src/jv_file.c:61:42: branch_false: ...to here
jq-1.8.1/src/jv_file.c:63:14: call_function: inlined call to 'jv_is_valid' from 'jv_load_file'
#   50|   jv_kind jv_get_kind(jv);
#   51|   const char* jv_kind_name(jv_kind);
#   52|-> static int jv_is_valid(jv x) { return jv_get_kind(x) != JV_KIND_INVALID; }
#   53|   
#   54|   jv jv_copy(jv);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def3]
jq-1.8.1/src/jv_alloc.c:90:1: warning[-Wanalyzer-malloc-leak]: leak of 'nomem_handler'
jq-1.8.1/src/jv_alloc.c:83:6: branch_true: following 'true' branch...
jq-1.8.1/src/jv_alloc.c:84:43: branch_true: ...to here
jq-1.8.1/src/jv_alloc.c:84:43: acquire_memory: allocated here
jq-1.8.1/src/jv_alloc.c:85:8: branch_false: following 'false' branch...
jq-1.8.1/src/jv_alloc.c:90:1: branch_false: ...to here
jq-1.8.1/src/jv_alloc.c:90:1: danger: 'nomem_handler' leaks here; was allocated at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#   88|       }
#   89|     }
#   90|-> }
#   91|   
#   92|   void jv_nomem_handler(jv_nomem_handler_f handler, void *data) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def4]
jq-1.8.1/src/jv_file.c:36:12: warning[-Wanalyzer-malloc-leak]: leak of 'file'
jq-1.8.1/src/jv_file.c:15:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:20:7: branch_false: ...to here
jq-1.8.1/src/jv_file.c:20:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:26:16: acquire_memory: allocated here
jq-1.8.1/src/jv_file.c:29:6: branch_false: following 'false' branch (when 'file' is non-NULL)...
jq-1.8.1/src/jv_file.c:35:6: branch_false: ...to here
jq-1.8.1/src/jv_file.c:35:6: branch_true: following 'true' branch (when 'raw != 0')...
jq-1.8.1/src/jv_file.c:36:12: branch_true: ...to here
jq-1.8.1/src/jv_file.c:36:12: throw: if 'jv_string' throws an exception...
jq-1.8.1/src/jv_file.c:36:12: danger: 'file' leaks here; was allocated at [(5)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/4)
#   34|     }
#   35|     if (raw) {
#   36|->     data = jv_string("");
#   37|     } else {
#   38|       data = jv_array();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def5]
jq-1.8.1/src/jv_file.c:38:12: warning[-Wanalyzer-malloc-leak]: leak of 'file'
jq-1.8.1/src/jv_file.c:15:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:20:7: branch_false: ...to here
jq-1.8.1/src/jv_file.c:20:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:26:16: acquire_memory: allocated here
jq-1.8.1/src/jv_file.c:29:6: branch_false: following 'false' branch (when 'file' is non-NULL)...
jq-1.8.1/src/jv_file.c:35:6: branch_false: ...to here
jq-1.8.1/src/jv_file.c:35:6: branch_false: following 'false' branch (when 'raw == 0')...
jq-1.8.1/src/jv_file.c:38:12: branch_false: ...to here
jq-1.8.1/src/jv_file.c:38:12: throw: if 'jv_array' throws an exception...
jq-1.8.1/src/jv_file.c:38:12: danger: 'file' leaks here; was allocated at [(5)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/4)
#   36|       data = jv_string("");
#   37|     } else {
#   38|->     data = jv_array();
#   39|       parser = jv_parser_new(0);
#   40|     }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def6]
jq-1.8.1/src/jv_file.c:39:14: warning[-Wanalyzer-malloc-leak]: leak of 'file'
jq-1.8.1/src/jv_file.c:15:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:20:7: branch_false: ...to here
jq-1.8.1/src/jv_file.c:20:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:26:16: acquire_memory: allocated here
jq-1.8.1/src/jv_file.c:29:6: branch_false: following 'false' branch (when 'file' is non-NULL)...
jq-1.8.1/src/jv_file.c:35:6: branch_false: ...to here
jq-1.8.1/src/jv_file.c:35:6: branch_false: following 'false' branch (when 'raw == 0')...
jq-1.8.1/src/jv_file.c:38:12: branch_false: ...to here
jq-1.8.1/src/jv_file.c:39:14: throw: if 'jv_parser_new' throws an exception...
jq-1.8.1/src/jv_file.c:39:14: danger: 'file' leaks here; was allocated at [(5)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/4)
#   37|     } else {
#   38|       data = jv_array();
#   39|->     parser = jv_parser_new(0);
#   40|     }
#   41|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def7]
jq-1.8.1/src/jv_file.c:53:9: warning[-Wanalyzer-malloc-leak]: leak of 'file'
jq-1.8.1/src/jv_file.c:15:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:20:7: branch_false: ...to here
jq-1.8.1/src/jv_file.c:20:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:26:16: acquire_memory: allocated here
jq-1.8.1/src/jv_file.c:29:6: branch_false: following 'false' branch (when 'file' is non-NULL)...
jq-1.8.1/src/jv_file.c:35:6: branch_false: ...to here
jq-1.8.1/src/jv_file.c:35:6: branch_true: following 'true' branch (when 'raw != 0')...
jq-1.8.1/src/jv_file.c:36:12: branch_true: ...to here
jq-1.8.1/src/jv_file.c:47:10: branch_true: following 'true' branch...
jq-1.8.1/src/jv_file.c:53:9: throw: if 'jvp_utf8_backtrack' throws an exception...
jq-1.8.1/src/jv_file.c:53:9: danger: 'file' leaks here; was allocated at [(5)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/4)
#   51|       if (n == 0)
#   52|         continue;
#   53|->     if (jvp_utf8_backtrack(buf+(n-1), buf, &len) && len > 0 &&
#   54|           !feof(file) && !ferror(file)) {
#   55|         n += fread(buf+n, 1, len, file);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def8]
jq-1.8.1/src/jv_file.c:59:14: warning[-Wanalyzer-malloc-leak]: leak of 'file'
jq-1.8.1/src/jv_file.c:15:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:20:7: branch_false: ...to here
jq-1.8.1/src/jv_file.c:20:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:26:16: acquire_memory: allocated here
jq-1.8.1/src/jv_file.c:29:6: branch_false: following 'false' branch (when 'file' is non-NULL)...
jq-1.8.1/src/jv_file.c:35:6: branch_false: ...to here
jq-1.8.1/src/jv_file.c:35:6: branch_true: following 'true' branch (when 'raw != 0')...
jq-1.8.1/src/jv_file.c:36:12: branch_true: ...to here
jq-1.8.1/src/jv_file.c:47:10: branch_true: following 'true' branch...
jq-1.8.1/src/jv_file.c:58:8: branch_true: following 'true' branch (when 'raw != 0')...
jq-1.8.1/src/jv_file.c:59:14: branch_true: ...to here
jq-1.8.1/src/jv_file.c:59:14: throw: if 'jv_string_append_buf' throws an exception...
jq-1.8.1/src/jv_file.c:59:14: danger: 'file' leaks here; was allocated at [(5)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/4)
#   57|   
#   58|       if (raw) {
#   59|->       data = jv_string_append_buf(data, buf, n);
#   60|       } else {
#   61|         jv_parser_set_buf(parser, buf, n, !feof(file));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def9]
jq-1.8.1/src/jv_file.c:61:7: warning[-Wanalyzer-malloc-leak]: leak of 'file'
jq-1.8.1/src/jv_file.c:15:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:20:7: branch_false: ...to here
jq-1.8.1/src/jv_file.c:20:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:26:16: acquire_memory: allocated here
jq-1.8.1/src/jv_file.c:29:6: branch_false: following 'false' branch (when 'file' is non-NULL)...
jq-1.8.1/src/jv_file.c:35:6: branch_false: ...to here
jq-1.8.1/src/jv_file.c:35:6: branch_false: following 'false' branch (when 'raw == 0')...
jq-1.8.1/src/jv_file.c:38:12: branch_false: ...to here
jq-1.8.1/src/jv_file.c:47:10: branch_true: following 'true' branch...
jq-1.8.1/src/jv_file.c:58:8: branch_false: following 'false' branch (when 'raw == 0')...
jq-1.8.1/src/jv_file.c:61:42: branch_false: ...to here
jq-1.8.1/src/jv_file.c:61:7: throw: if 'jv_parser_set_buf' throws an exception...
jq-1.8.1/src/jv_file.c:61:7: danger: 'file' leaks here; was allocated at [(5)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/4)
#   59|         data = jv_string_append_buf(data, buf, n);
#   60|       } else {
#   61|->       jv_parser_set_buf(parser, buf, n, !feof(file));
#   62|         jv value;
#   63|         while (jv_is_valid((value = jv_parser_next(parser))))

Error: GCC_ANALYZER_WARNING (CWE-401): [#def10]
jq-1.8.1/src/jv_file.c:63:35: warning[-Wanalyzer-malloc-leak]: leak of 'file'
jq-1.8.1/src/jv_file.c:15:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:20:7: branch_false: ...to here
jq-1.8.1/src/jv_file.c:20:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:26:16: acquire_memory: allocated here
jq-1.8.1/src/jv_file.c:29:6: branch_false: following 'false' branch (when 'file' is non-NULL)...
jq-1.8.1/src/jv_file.c:35:6: branch_false: ...to here
jq-1.8.1/src/jv_file.c:35:6: branch_false: following 'false' branch (when 'raw == 0')...
jq-1.8.1/src/jv_file.c:38:12: branch_false: ...to here
jq-1.8.1/src/jv_file.c:47:10: branch_true: following 'true' branch...
jq-1.8.1/src/jv_file.c:58:8: branch_false: following 'false' branch (when 'raw == 0')...
jq-1.8.1/src/jv_file.c:61:42: branch_false: ...to here
jq-1.8.1/src/jv_file.c:63:35: throw: if 'jv_parser_next' throws an exception...
jq-1.8.1/src/jv_file.c:63:35: danger: 'file' leaks here; was allocated at [(5)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/4)
#   61|         jv_parser_set_buf(parser, buf, n, !feof(file));
#   62|         jv value;
#   63|->       while (jv_is_valid((value = jv_parser_next(parser))))
#   64|           data = jv_array_append(data, value);
#   65|         if (jv_invalid_has_msg(jv_copy(value))) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def11]
jq-1.8.1/src/jv_file.c:64:16: warning[-Wanalyzer-malloc-leak]: leak of 'file'
jq-1.8.1/src/jv_file.c:15:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:20:7: branch_false: ...to here
jq-1.8.1/src/jv_file.c:20:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:26:16: acquire_memory: allocated here
jq-1.8.1/src/jv_file.c:29:6: branch_false: following 'false' branch (when 'file' is non-NULL)...
jq-1.8.1/src/jv_file.c:35:6: branch_false: ...to here
jq-1.8.1/src/jv_file.c:35:6: branch_false: following 'false' branch (when 'raw == 0')...
jq-1.8.1/src/jv_file.c:38:12: branch_false: ...to here
jq-1.8.1/src/jv_file.c:47:10: branch_true: following 'true' branch...
jq-1.8.1/src/jv_file.c:58:8: branch_false: following 'false' branch (when 'raw == 0')...
jq-1.8.1/src/jv_file.c:61:42: branch_false: ...to here
jq-1.8.1/src/jv_file.c:63:14: branch_true: following 'true' branch...
jq-1.8.1/src/jv_file.c:64:16: branch_true: ...to here
jq-1.8.1/src/jv_file.c:64:16: throw: if 'jv_array_append' throws an exception...
jq-1.8.1/src/jv_file.c:64:16: danger: 'file' leaks here; was allocated at [(5)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/4)
#   62|         jv value;
#   63|         while (jv_is_valid((value = jv_parser_next(parser))))
#   64|->         data = jv_array_append(data, value);
#   65|         if (jv_invalid_has_msg(jv_copy(value))) {
#   66|           jv_free(data);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def12]
jq-1.8.1/src/jv_file.c:65:11: warning[-Wanalyzer-malloc-leak]: leak of 'file'
jq-1.8.1/src/jv_file.c:15:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:20:7: branch_false: ...to here
jq-1.8.1/src/jv_file.c:20:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:26:16: acquire_memory: allocated here
jq-1.8.1/src/jv_file.c:29:6: branch_false: following 'false' branch (when 'file' is non-NULL)...
jq-1.8.1/src/jv_file.c:35:6: branch_false: ...to here
jq-1.8.1/src/jv_file.c:35:6: branch_false: following 'false' branch (when 'raw == 0')...
jq-1.8.1/src/jv_file.c:38:12: branch_false: ...to here
jq-1.8.1/src/jv_file.c:47:10: branch_true: following 'true' branch...
jq-1.8.1/src/jv_file.c:58:8: branch_false: following 'false' branch (when 'raw == 0')...
jq-1.8.1/src/jv_file.c:61:42: branch_false: ...to here
jq-1.8.1/src/jv_file.c:65:11: throw: if 'jv_copy' throws an exception...
jq-1.8.1/src/jv_file.c:65:11: danger: 'file' leaks here; was allocated at [(5)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/4)
#   63|         while (jv_is_valid((value = jv_parser_next(parser))))
#   64|           data = jv_array_append(data, value);
#   65|->       if (jv_invalid_has_msg(jv_copy(value))) {
#   66|           jv_free(data);
#   67|           data = value;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def13]
jq-1.8.1/src/jv_file.c:66:9: warning[-Wanalyzer-malloc-leak]: leak of 'file'
jq-1.8.1/src/jv_file.c:15:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:20:7: branch_false: ...to here
jq-1.8.1/src/jv_file.c:20:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:26:16: acquire_memory: allocated here
jq-1.8.1/src/jv_file.c:29:6: branch_false: following 'false' branch (when 'file' is non-NULL)...
jq-1.8.1/src/jv_file.c:35:6: branch_false: ...to here
jq-1.8.1/src/jv_file.c:35:6: branch_false: following 'false' branch (when 'raw == 0')...
jq-1.8.1/src/jv_file.c:38:12: branch_false: ...to here
jq-1.8.1/src/jv_file.c:47:10: branch_true: following 'true' branch...
jq-1.8.1/src/jv_file.c:58:8: branch_false: following 'false' branch (when 'raw == 0')...
jq-1.8.1/src/jv_file.c:61:42: branch_false: ...to here
jq-1.8.1/src/jv_file.c:66:9: throw: if 'jv_free' throws an exception...
jq-1.8.1/src/jv_file.c:66:9: danger: 'file' leaks here; was allocated at [(5)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/4)
#   64|           data = jv_array_append(data, value);
#   65|         if (jv_invalid_has_msg(jv_copy(value))) {
#   66|->         jv_free(data);
#   67|           data = value;
#   68|           break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def14]
jq-1.8.1/src/jv_file.c:73:7: warning[-Wanalyzer-malloc-leak]: leak of 'file'
jq-1.8.1/src/jv_file.c:15:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:20:7: branch_false: ...to here
jq-1.8.1/src/jv_file.c:20:6: branch_false: following 'false' branch...
jq-1.8.1/src/jv_file.c:26:16: acquire_memory: allocated here
jq-1.8.1/src/jv_file.c:29:6: branch_false: following 'false' branch (when 'file' is non-NULL)...
jq-1.8.1/src/jv_file.c:35:6: branch_false: ...to here
jq-1.8.1/src/jv_file.c:35:6: branch_false: following 'false' branch (when 'raw == 0')...
jq-1.8.1/src/jv_file.c:38:12: branch_false: ...to here
jq-1.8.1/src/jv_file.c:72:6: branch_true: following 'true' branch (when 'raw == 0')...
jq-1.8.1/src/jv_file.c:73:7: branch_true: ...to here
jq-1.8.1/src/jv_file.c:73:7: throw: if 'jv_parser_free' throws an exception...
jq-1.8.1/src/jv_file.c:73:7: danger: 'file' leaks here; was allocated at [(5)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/4)
#   71|     }
#   72|     if (!raw)
#   73|->       jv_parser_free(parser);
#   74|     int badread = ferror(file);
#   75|     if (fclose(file) != 0 || badread) {

Error: GCC_ANALYZER_WARNING (CWE-404): [#def15]
jq-1.8.1/src/jv_parse.c:760:10: warning[-Wanalyzer-va-list-leak]: missing call to 'va_end'
jq-1.8.1/src/jv_parse.c:911:4: enter_function: entry to 'jv_parse_custom_flags'
jq-1.8.1/src/jv_parse.c:912:10: call_function: calling 'jv_parse_sized_custom_flags' from 'jv_parse_custom_flags'
#  758|     va_list ap;
#  759|     va_start(ap, fmt);
#  760|->   jv e = jv_string_vfmt(fmt, ap);
#  761|     va_end(ap);
#  762|     if ((p->flags & JV_PARSE_STREAM_ERRORS))

Error: GCC_ANALYZER_WARNING (CWE-476): [#def16]
jq-1.8.1/src/lexer.c:2029:9: warning[-Wanalyzer-null-dereference]: dereference of NULL 'b'
jq-1.8.1/src/lexer.c:1908:10: enter_function: entry to 'jq_yyrestart'
jq-1.8.1/src/lexer.c:1915:13: call_function: calling 'jq_yy_create_buffer' from 'jq_yyrestart'
jq-1.8.1/src/lexer.c:1915:13: return_function: returning to 'jq_yyrestart' from 'jq_yy_create_buffer'
jq-1.8.1/src/lexer.c:1918:9: branch_false: following 'false' branch...
jq-1.8.1/src/lexer.c:1918:9: branch_false: ...to here
jq-1.8.1/src/lexer.c:1918:9: call_function: calling 'jq_yy_init_buffer' from 'jq_yyrestart'
# 2027|   	yy_flush_buffer( b , yyscanner);
# 2028|   
# 2029|-> 	b->yy_input_file = file;
# 2030|   	b->yy_fill_buffer = 1;
# 2031|   

Error: GCC_ANALYZER_WARNING (CWE-404): [#def17]
jq-1.8.1/src/locfile.c:67:11: warning[-Wanalyzer-va-list-leak]: missing call to 'va_end'
jq-1.8.1/src/locfile.c:65:3: acquire_resource: 'va_start' called here
jq-1.8.1/src/locfile.c:67:11: throw: if 'jv_string_vfmt' throws an exception...
jq-1.8.1/src/locfile.c:67:11: danger: missing call to 'va_end' to match 'va_start' at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   65|     va_start(fmtargs, fmt);
#   66|   
#   67|->   jv m1 = jv_string_vfmt(fmt, fmtargs);
#   68|     va_end(fmtargs);
#   69|     if (!jv_is_valid(m1)) {

Error: COMPILER_WARNING: [#def18]
jq-1.8.1/src/parser.c: scope_hint: In function 'yyparse'
jq-1.8.1/src/parser.c:2241:9: warning[-Wunused-but-set-variable=]: variable 'yynerrs' set but not used
# 2241 |     int yynerrs = 0;
#      |         ^~~~~~~
# 2239|   
# 2240|       /* Number of syntax errors so far.  */
# 2241|->     int yynerrs = 0;
# 2242|   
# 2243|       yy_state_fast_t yystate = 0;

Error: GCC_ANALYZER_WARNING (CWE-457): [#def19]
jq-1.8.1/src/parser.c:2365:9: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'yyss'
jq-1.8.1/src/parser.c:2320:6: branch_true: following 'true' branch...
jq-1.8.1/src/parser.c:2326:34: branch_true: ...to here
jq-1.8.1/src/parser.c:2352:10: branch_false: following 'false' branch (when 'yystacksize <= 9999')...
jq-1.8.1/src/parser.c:2354:7: branch_false: ...to here
jq-1.8.1/src/parser.c:2363:12: branch_false: following 'false' branch...
jq-1.8.1/src/parser.c:2363:12: branch_false: ...to here
jq-1.8.1/src/parser.c:2365:9: danger: use of uninitialized value 'yyss' here
# 2363|           if (! yyptr)
# 2364|             YYNOMEM;
# 2365|->         YYSTACK_RELOCATE (yyss_alloc, yyss);
# 2366|           YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# 2367|           YYSTACK_RELOCATE (yyls_alloc, yyls);

Error: GCC_ANALYZER_WARNING (CWE-126): [#def20]
jq-1.8.1/vendor/decNumber/decNumber.c:6382:19: warning[-Wanalyzer-out-of-bounds]: buffer over-read
jq-1.8.1/vendor/decNumber/decNumber.c:7274:13: enter_function: entry to 'decFinalize'
jq-1.8.1/vendor/decNumber/decNumber.c:7311:6: branch_true: following 'true' branch...
jq-1.8.1/vendor/decNumber/decNumber.c:7311:20: call_function: inlined call to 'decApplyRound' from 'decFinalize'
# 6380|       carry+=*a;

# 6381|       a++;

# 6382|->     carry+=((eInt)*b)*m;                // [special-casing m=1/-1

# 6383|       b++;                                // here is not a win]

# 6384|       // here carry is new Unit of digits; it could be +ve or -ve


Scan Properties

analyzer-version-clippy1.92.0
analyzer-version-cppcheck2.19.1
analyzer-version-gcc16.0.0
analyzer-version-gcc-analyzer16.0.0
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-135.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namejq-1.8.1-1.fc44
store-results-to/tmp/tmp0uh0m64o/jq-1.8.1-1.fc44.tar.xz
time-created2026-01-08 17:12:40
time-finished2026-01-08 17:14:14
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmp0uh0m64o/jq-1.8.1-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmp0uh0m64o/jq-1.8.1-1.fc44.src.rpm'
tool-versioncsmock-3.8.3.20251215.161544.g62de9a5-1.el9