Fixed findings

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-688): [#def1]
sord-0.16.18/src/sord.c:159:3: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘dup’ where non-null expected
sord-0.16.18/src/sord.c:1176:1: enter_function: entry to ‘sord_node_from_serd_node’
sord-0.16.18/src/sord.c:1182:6: branch_false: following ‘false’ branch (when ‘node’ is non-NULL)...
sord-0.16.18/src/sord.c:1188:11: branch_false: ...to here
sord-0.16.18/src/sord.c:1203:8: branch_true: following ‘true’ branch...
sord-0.16.18/src/sord.c:1205:42: branch_true: ...to here
sord-0.16.18/src/sord.c:1204:14: call_function: calling ‘sord_new_uri_counted’ from ‘sord_node_from_serd_node’
#  157|   {
#  158|     uint8_t* dup = (uint8_t*)malloc(len + 1);
#  159|->   memcpy(dup, str, len + 1);
#  160|     return dup;
#  161|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def2]
sord-0.16.18/src/sord.c:204:22: warning[-Wanalyzer-malloc-leak]: leak of ‘sord_node_create(key)’
sord-0.16.18/src/sord.c:1176:1: enter_function: entry to ‘sord_node_from_serd_node’
sord-0.16.18/src/sord.c:1182:6: branch_false: following ‘false’ branch (when ‘node’ is non-NULL)...
sord-0.16.18/src/sord.c:1188:11: branch_false: ...to here
sord-0.16.18/src/sord.c:1203:8: branch_true: following ‘true’ branch...
sord-0.16.18/src/sord.c:1205:42: branch_true: ...to here
sord-0.16.18/src/sord.c:1204:14: call_function: calling ‘sord_new_uri_counted’ from ‘sord_node_from_serd_node’
#  202|     if (copy) {
#  203|       memcpy(copy, node, sizeof(SordNode));
#  204|->     copy->node.buf = sord_strndup(copy->node.buf, copy->node.n_bytes);
#  205|       if (copy->node.type == SERD_LITERAL) {
#  206|         copy->meta.lit.datatype = sord_node_copy(copy->meta.lit.datatype);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def3]
sord-0.16.18/src/sord.c:220:5: warning[-Wanalyzer-malloc-leak]: leak of ‘buf’
sord-0.16.18/src/sord.c:1176:1: enter_function: entry to ‘sord_node_from_serd_node’
sord-0.16.18/src/sord.c:1182:6: branch_false: following ‘false’ branch (when ‘node’ is non-NULL)...
sord-0.16.18/src/sord.c:1188:11: branch_false: ...to here
sord-0.16.18/src/sord.c:1192:21: call_function: calling ‘sord_node_from_serd_node’ from ‘sord_node_from_serd_node’
#  218|     const SerdError e = {st, NULL, 0, 0, fmt, &args};
#  219|     if (world->error_sink) {
#  220|->     world->error_sink(world->error_handle, &e);
#  221|     } else {
#  222|       fprintf(stderr, "error: ");

Error: GCC_ANALYZER_WARNING (CWE-404): [#def4]
sord-0.16.18/src/sord.c:220:5: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
sord-0.16.18/src/sord.c:1082:1: enter_function: entry to ‘sord_new_uri_counted’
sord-0.16.18/src/sord.c:1088:5: call_function: calling ‘error’ from ‘sord_new_uri_counted’
#  218|     const SerdError e = {st, NULL, 0, 0, fmt, &args};
#  219|     if (world->error_sink) {
#  220|->     world->error_sink(world->error_handle, &e);
#  221|     } else {
#  222|       fprintf(stderr, "error: ");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def5]
sord-0.16.18/src/sord.c:459:3: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘iter’
sord-0.16.18/src/sord.c:852:1: enter_function: entry to ‘sord_begin’
sord-0.16.18/src/sord.c:859:12: call_function: calling ‘sord_iter_new’ from ‘sord_begin’
#  457|   {
#  458|     SordIter* iter    = (SordIter*)malloc(sizeof(SordIter));
#  459|->   iter->sord        = sord;
#  460|     iter->cur         = cur;
#  461|     iter->order       = order;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def6]
sord-0.16.18/src/sord.c:1060:38: warning[-Wanalyzer-malloc-leak]: leak of ‘buf’
sord-0.16.18/src/sord.c:1176:1: enter_function: entry to ‘sord_node_from_serd_node’
sord-0.16.18/src/sord.c:1182:6: branch_false: following ‘false’ branch (when ‘node’ is non-NULL)...
sord-0.16.18/src/sord.c:1188:11: branch_false: ...to here
sord-0.16.18/src/sord.c:1192:21: call_function: calling ‘sord_node_from_serd_node’ from ‘sord_node_from_serd_node’
# 1058|   {
# 1059|     // "Plan" the insertion (that is, search) with the given constant key
# 1060|->   const ZixHashInsertPlan plan     = zix_hash_plan_insert(world->nodes, key);
# 1061|     SordNode* const         existing = zix_hash_record_at(world->nodes, plan);
# 1062|     if (existing) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def7]
sord-0.16.18/src/sord.c:1069:26: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
sord-0.16.18/src/sord.c:1176:1: enter_function: entry to ‘sord_node_from_serd_node’
sord-0.16.18/src/sord.c:1182:6: branch_false: following ‘false’ branch (when ‘node’ is non-NULL)...
sord-0.16.18/src/sord.c:1188:11: branch_false: ...to here
sord-0.16.18/src/sord.c:1203:8: branch_true: following ‘true’ branch...
sord-0.16.18/src/sord.c:1205:42: branch_true: ...to here
sord-0.16.18/src/sord.c:1204:14: call_function: calling ‘sord_new_uri_counted’ from ‘sord_node_from_serd_node’
# 1067|     // Insert a new node into hash table, transferring ownership
# 1068|     SordNode* const node = sord_node_create(key);
# 1069|->   const ZixStatus st   = zix_hash_insert_at(world->nodes, plan, node);
# 1070|     if (st) {
# 1071|       free((uint8_t*)node->node.buf);

Error: GCC_ANALYZER_WARNING (CWE-688): [#def8]
sord-0.16.18/src/sord.c:1229:5: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘buf’ where non-null expected
sord-0.16.18/src/sord.c:1176:1: enter_function: entry to ‘sord_node_from_serd_node’
sord-0.16.18/src/sord.c:1182:6: branch_false: following ‘false’ branch (when ‘node’ is non-NULL)...
sord-0.16.18/src/sord.c:1188:11: branch_false: ...to here
sord-0.16.18/src/sord.c:1192:21: call_function: calling ‘sord_node_from_serd_node’ from ‘sord_node_from_serd_node’
# 1227|       const size_t uri_len = uri_prefix.len + uri_suffix.len;
# 1228|       uint8_t*     buf     = (uint8_t*)malloc(uri_len + 1);
# 1229|->     memcpy(buf, uri_prefix.buf, uri_prefix.len);
# 1230|       memcpy(buf + uri_prefix.len, uri_suffix.buf, uri_suffix.len);
# 1231|       buf[uri_len] = '\0';

Error: GCC_ANALYZER_WARNING (CWE-401): [#def9]
sord-0.16.18/src/sord.c:1234:7: warning[-Wanalyzer-malloc-leak]: leak of ‘buf’
sord-0.16.18/src/sord.c:1176:1: enter_function: entry to ‘sord_node_from_serd_node’
sord-0.16.18/src/sord.c:1182:6: branch_false: following ‘false’ branch (when ‘node’ is non-NULL)...
sord-0.16.18/src/sord.c:1188:11: branch_false: ...to here
sord-0.16.18/src/sord.c:1192:21: call_function: calling ‘sord_node_from_serd_node’ from ‘sord_node_from_serd_node’
# 1232|   
# 1233|       ret =
# 1234|->       sord_new_uri_counted(world, buf, uri_len, serd_strlen(buf, NULL, NULL));
# 1235|   
# 1236|       free(buf);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def10]
sord-0.16.18/src/sord.c:1277:11: warning[-Wanalyzer-malloc-leak]: leak of ‘quad’
sord-0.16.18/src/sord.c:1281:1: enter_function: entry to ‘sord_add’
sord-0.16.18/src/sord.c:1284:6: branch_false: following ‘false’ branch...
sord-0.16.18/src/sord.c:1292:45: acquire_memory: allocated here
sord-0.16.18/src/sord.c:1295:24: branch_true: following ‘true’ branch (when ‘i != 12’)...
sord-0.16.18/src/sord.c:1296:9: branch_true: ...to here
sord-0.16.18/src/sord.c:1296:8: branch_true: following ‘true’ branch...
# 1275|   sord_add_to_index(SordModel* model, const SordNode** tup, SordOrder order)
# 1276|   {
# 1277|->   return !zix_btree_insert(model->indices[order], tup);
# 1278|   }
# 1279|   

Error: GCC_ANALYZER_WARNING (CWE-688): [#def11]
sord-0.16.18/src/sord.c:1293:3: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘quad’ where non-null expected
sord-0.16.18/src/sord.c:1284:6: branch_false: following ‘false’ branch...
sord-0.16.18/src/sord.c:1292:45: acquire_memory: this call could return NULL
sord-0.16.18/src/sord.c:1293:3: danger: argument 1 (‘quad’) from [(3)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/2) could be NULL where non-null expected
# 1291|   
# 1292|     const SordNode** quad = (const SordNode**)malloc(sizeof(SordQuad));
# 1293|->   memcpy(quad, tup, sizeof(SordQuad));
# 1294|   
# 1295|     for (unsigned i = 0; i < NUM_ORDERS; ++i) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def12]
sord-0.16.18/src/sordi.c:142:12: warning[-Wanalyzer-file-leak]: leak of FILE ‘in_fd’
sord-0.16.18/src/sordi.c:72:6: branch_false: following ‘false’ branch (when ‘argc > 1’)...
sord-0.16.18/src/sordi.c:77:18: branch_false: ...to here
sord-0.16.18/src/sordi.c:82:10: branch_true: following ‘true’ branch (when ‘a < argc’)...
sord-0.16.18/src/sordi.c:82:26: branch_true: ...to here
sord-0.16.18/src/sordi.c:118:6: branch_false: following ‘false’ branch (when ‘a != argc’)...
sord-0.16.18/src/sordi.c:124:52: branch_false: ...to here
sord-0.16.18/src/sordi.c:125:6: branch_true: following ‘true’ branch (when ‘from_file != 0’)...
sord-0.16.18/src/sordi.c:126:15: branch_true: ...to here
sord-0.16.18/src/sordi.c:126:15: branch_false: following ‘false’ branch (when ‘in_name’ is NULL)...
sord-0.16.18/src/sordi.c:126:15: branch_false: ...to here
sord-0.16.18/src/sordi.c:127:8: branch_true: following ‘true’ branch (when ‘in_fd’ is NULL)...
sord-0.16.18/src/sordi.c:128:12: branch_true: ...to here
sord-0.16.18/src/sordi.c:128:10: branch_false: following ‘false’ branch...
sord-0.16.18/src/sordi.c:132:31: branch_false: ...to here
sord-0.16.18/src/sordi.c:132:31: acquire_resource: opened here
sord-0.16.18/src/sordi.c:132:11: branch_false: following ‘false’ branch...
sord-0.16.18/src/sordi.c:138:12: branch_false: ...to here
sord-0.16.18/src/sordi.c:140:6: branch_true: following ‘true’ branch (when ‘argc > a’)...
sord-0.16.18/src/sordi.c:141:64: branch_true: ...to here
sord-0.16.18/src/sordi.c:142:12: throw: if ‘serd_node_new_uri_from_string’ throws an exception...
sord-0.16.18/src/sordi.c:142:12: danger: ‘in_fd’ leaks here; was opened at [(15)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/14)
#  140|     if (a < argc) { // Base URI given on command line
#  141|       const uint8_t* const base_uri_string = (const uint8_t*)argv[a];
#  142|->     base = serd_node_new_uri_from_string(base_uri_string, NULL, &base_uri);
#  143|     } else if (from_file && in_fd != stdin) { // Use input file URI
#  144|       char* const abs_path = zix_canonical_path(NULL, (const char*)input);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def13]
sord-0.16.18/src/sordi.c:142:12: warning[-Wanalyzer-malloc-leak]: leak of ‘in_fd’
sord-0.16.18/src/sordi.c:72:6: branch_false: following ‘false’ branch (when ‘argc > 1’)...
sord-0.16.18/src/sordi.c:77:18: branch_false: ...to here
sord-0.16.18/src/sordi.c:82:10: branch_true: following ‘true’ branch (when ‘a < argc’)...
sord-0.16.18/src/sordi.c:82:26: branch_true: ...to here
sord-0.16.18/src/sordi.c:118:6: branch_false: following ‘false’ branch (when ‘a != argc’)...
sord-0.16.18/src/sordi.c:124:52: branch_false: ...to here
sord-0.16.18/src/sordi.c:125:6: branch_true: following ‘true’ branch (when ‘from_file != 0’)...
sord-0.16.18/src/sordi.c:126:15: branch_true: ...to here
sord-0.16.18/src/sordi.c:126:15: branch_false: following ‘false’ branch (when ‘in_name’ is NULL)...
sord-0.16.18/src/sordi.c:126:15: branch_false: ...to here
sord-0.16.18/src/sordi.c:127:8: branch_true: following ‘true’ branch (when ‘in_fd’ is NULL)...
sord-0.16.18/src/sordi.c:128:12: branch_true: ...to here
sord-0.16.18/src/sordi.c:128:10: branch_false: following ‘false’ branch...
sord-0.16.18/src/sordi.c:132:31: branch_false: ...to here
sord-0.16.18/src/sordi.c:132:31: acquire_memory: allocated here
sord-0.16.18/src/sordi.c:132:11: branch_false: following ‘false’ branch...
sord-0.16.18/src/sordi.c:138:12: branch_false: ...to here
sord-0.16.18/src/sordi.c:140:6: branch_true: following ‘true’ branch (when ‘argc > a’)...
sord-0.16.18/src/sordi.c:141:64: branch_true: ...to here
sord-0.16.18/src/sordi.c:142:12: throw: if ‘serd_node_new_uri_from_string’ throws an exception...
sord-0.16.18/src/sordi.c:142:12: danger: ‘in_fd’ leaks here; was allocated at [(15)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/14)
#  140|     if (a < argc) { // Base URI given on command line
#  141|       const uint8_t* const base_uri_string = (const uint8_t*)argv[a];
#  142|->     base = serd_node_new_uri_from_string(base_uri_string, NULL, &base_uri);
#  143|     } else if (from_file && in_fd != stdin) { // Use input file URI
#  144|       char* const abs_path = zix_canonical_path(NULL, (const char*)input);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def14]
sord-0.16.18/src/sordi.c:144:28: warning[-Wanalyzer-file-leak]: leak of FILE ‘in_fd’
sord-0.16.18/src/sordi.c:72:6: branch_false: following ‘false’ branch (when ‘argc > 1’)...
sord-0.16.18/src/sordi.c:77:18: branch_false: ...to here
sord-0.16.18/src/sordi.c:82:10: branch_true: following ‘true’ branch (when ‘a < argc’)...
sord-0.16.18/src/sordi.c:82:26: branch_true: ...to here
sord-0.16.18/src/sordi.c:118:6: branch_false: following ‘false’ branch (when ‘a != argc’)...
sord-0.16.18/src/sordi.c:124:52: branch_false: ...to here
sord-0.16.18/src/sordi.c:125:6: branch_true: following ‘true’ branch (when ‘from_file != 0’)...
sord-0.16.18/src/sordi.c:126:15: branch_true: ...to here
sord-0.16.18/src/sordi.c:126:15: branch_false: following ‘false’ branch (when ‘in_name’ is NULL)...
sord-0.16.18/src/sordi.c:126:15: branch_false: ...to here
sord-0.16.18/src/sordi.c:127:8: branch_true: following ‘true’ branch (when ‘in_fd’ is NULL)...
sord-0.16.18/src/sordi.c:128:12: branch_true: ...to here
sord-0.16.18/src/sordi.c:128:10: branch_false: following ‘false’ branch...
sord-0.16.18/src/sordi.c:132:31: branch_false: ...to here
sord-0.16.18/src/sordi.c:132:31: acquire_resource: opened here
sord-0.16.18/src/sordi.c:132:11: branch_false: following ‘false’ branch...
sord-0.16.18/src/sordi.c:138:12: branch_false: ...to here
sord-0.16.18/src/sordi.c:140:6: branch_false: following ‘false’ branch (when ‘argc <= a’)...
sord-0.16.18/src/sordi.c:143:13: branch_false: ...to here
sord-0.16.18/src/sordi.c:143:13: branch_true: following ‘true’ branch...
sord-0.16.18/src/sordi.c:144:28: throw: if ‘zix_canonical_path’ throws an exception...
sord-0.16.18/src/sordi.c:144:28: danger: ‘in_fd’ leaks here; was opened at [(15)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/14)
#  142|       base = serd_node_new_uri_from_string(base_uri_string, NULL, &base_uri);
#  143|     } else if (from_file && in_fd != stdin) { // Use input file URI
#  144|->     char* const abs_path = zix_canonical_path(NULL, (const char*)input);
#  145|       base =
#  146|         serd_node_new_file_uri((const uint8_t*)abs_path, NULL, &base_uri, true);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def15]
sord-0.16.18/src/sordi.c:144:28: warning[-Wanalyzer-malloc-leak]: leak of ‘in_fd’
sord-0.16.18/src/sordi.c:72:6: branch_false: following ‘false’ branch (when ‘argc > 1’)...
sord-0.16.18/src/sordi.c:77:18: branch_false: ...to here
sord-0.16.18/src/sordi.c:82:10: branch_true: following ‘true’ branch (when ‘a < argc’)...
sord-0.16.18/src/sordi.c:82:26: branch_true: ...to here
sord-0.16.18/src/sordi.c:118:6: branch_false: following ‘false’ branch (when ‘a != argc’)...
sord-0.16.18/src/sordi.c:124:52: branch_false: ...to here
sord-0.16.18/src/sordi.c:125:6: branch_true: following ‘true’ branch (when ‘from_file != 0’)...
sord-0.16.18/src/sordi.c:126:15: branch_true: ...to here
sord-0.16.18/src/sordi.c:126:15: branch_false: following ‘false’ branch (when ‘in_name’ is NULL)...
sord-0.16.18/src/sordi.c:126:15: branch_false: ...to here
sord-0.16.18/src/sordi.c:127:8: branch_true: following ‘true’ branch (when ‘in_fd’ is NULL)...
sord-0.16.18/src/sordi.c:128:12: branch_true: ...to here
sord-0.16.18/src/sordi.c:128:10: branch_false: following ‘false’ branch...
sord-0.16.18/src/sordi.c:132:31: branch_false: ...to here
sord-0.16.18/src/sordi.c:132:31: acquire_memory: allocated here
sord-0.16.18/src/sordi.c:132:11: branch_false: following ‘false’ branch...
sord-0.16.18/src/sordi.c:138:12: branch_false: ...to here
sord-0.16.18/src/sordi.c:140:6: branch_false: following ‘false’ branch (when ‘argc <= a’)...
sord-0.16.18/src/sordi.c:143:13: branch_false: ...to here
sord-0.16.18/src/sordi.c:143:13: branch_true: following ‘true’ branch...
sord-0.16.18/src/sordi.c:144:28: throw: if ‘zix_canonical_path’ throws an exception...
sord-0.16.18/src/sordi.c:144:28: danger: ‘in_fd’ leaks here; was allocated at [(15)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/14)
#  142|       base = serd_node_new_uri_from_string(base_uri_string, NULL, &base_uri);
#  143|     } else if (from_file && in_fd != stdin) { // Use input file URI
#  144|->     char* const abs_path = zix_canonical_path(NULL, (const char*)input);
#  145|       base =
#  146|         serd_node_new_file_uri((const uint8_t*)abs_path, NULL, &base_uri, true);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def16]
sord-0.16.18/src/sordi.c:146:7: warning[-Wanalyzer-file-leak]: leak of FILE ‘in_fd’
sord-0.16.18/src/sordi.c:72:6: branch_false: following ‘false’ branch (when ‘argc > 1’)...
sord-0.16.18/src/sordi.c:77:18: branch_false: ...to here
sord-0.16.18/src/sordi.c:82:10: branch_true: following ‘true’ branch (when ‘a < argc’)...
sord-0.16.18/src/sordi.c:82:26: branch_true: ...to here
sord-0.16.18/src/sordi.c:118:6: branch_false: following ‘false’ branch (when ‘a != argc’)...
sord-0.16.18/src/sordi.c:124:52: branch_false: ...to here
sord-0.16.18/src/sordi.c:125:6: branch_true: following ‘true’ branch (when ‘from_file != 0’)...
sord-0.16.18/src/sordi.c:126:15: branch_true: ...to here
sord-0.16.18/src/sordi.c:126:15: branch_false: following ‘false’ branch (when ‘in_name’ is NULL)...
sord-0.16.18/src/sordi.c:126:15: branch_false: ...to here
sord-0.16.18/src/sordi.c:127:8: branch_true: following ‘true’ branch (when ‘in_fd’ is NULL)...
sord-0.16.18/src/sordi.c:128:12: branch_true: ...to here
sord-0.16.18/src/sordi.c:128:10: branch_false: following ‘false’ branch...
sord-0.16.18/src/sordi.c:132:31: branch_false: ...to here
sord-0.16.18/src/sordi.c:132:31: acquire_resource: opened here
sord-0.16.18/src/sordi.c:132:11: branch_false: following ‘false’ branch...
sord-0.16.18/src/sordi.c:138:12: branch_false: ...to here
sord-0.16.18/src/sordi.c:140:6: branch_false: following ‘false’ branch (when ‘argc <= a’)...
sord-0.16.18/src/sordi.c:143:13: branch_false: ...to here
sord-0.16.18/src/sordi.c:143:13: branch_true: following ‘true’ branch...
sord-0.16.18/src/sordi.c:146:7: throw: if ‘serd_node_new_file_uri’ throws an exception...
sord-0.16.18/src/sordi.c:146:7: danger: ‘in_fd’ leaks here; was opened at [(15)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/14)
#  144|       char* const abs_path = zix_canonical_path(NULL, (const char*)input);
#  145|       base =
#  146|->       serd_node_new_file_uri((const uint8_t*)abs_path, NULL, &base_uri, true);
#  147|       zix_free(NULL, abs_path);
#  148|     }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def17]
sord-0.16.18/src/sordi.c:146:7: warning[-Wanalyzer-malloc-leak]: leak of ‘in_fd’
sord-0.16.18/src/sordi.c:72:6: branch_false: following ‘false’ branch (when ‘argc > 1’)...
sord-0.16.18/src/sordi.c:77:18: branch_false: ...to here
sord-0.16.18/src/sordi.c:82:10: branch_true: following ‘true’ branch (when ‘a < argc’)...
sord-0.16.18/src/sordi.c:82:26: branch_true: ...to here
sord-0.16.18/src/sordi.c:118:6: branch_false: following ‘false’ branch (when ‘a != argc’)...
sord-0.16.18/src/sordi.c:124:52: branch_false: ...to here
sord-0.16.18/src/sordi.c:125:6: branch_true: following ‘true’ branch (when ‘from_file != 0’)...
sord-0.16.18/src/sordi.c:126:15: branch_true: ...to here
sord-0.16.18/src/sordi.c:126:15: branch_false: following ‘false’ branch (when ‘in_name’ is NULL)...
sord-0.16.18/src/sordi.c:126:15: branch_false: ...to here
sord-0.16.18/src/sordi.c:127:8: branch_true: following ‘true’ branch (when ‘in_fd’ is NULL)...
sord-0.16.18/src/sordi.c:128:12: branch_true: ...to here
sord-0.16.18/src/sordi.c:128:10: branch_false: following ‘false’ branch...
sord-0.16.18/src/sordi.c:132:31: branch_false: ...to here
sord-0.16.18/src/sordi.c:132:31: acquire_memory: allocated here
sord-0.16.18/src/sordi.c:132:11: branch_false: following ‘false’ branch...
sord-0.16.18/src/sordi.c:138:12: branch_false: ...to here
sord-0.16.18/src/sordi.c:140:6: branch_false: following ‘false’ branch (when ‘argc <= a’)...
sord-0.16.18/src/sordi.c:143:13: branch_false: ...to here
sord-0.16.18/src/sordi.c:143:13: branch_true: following ‘true’ branch...
sord-0.16.18/src/sordi.c:146:7: throw: if ‘serd_node_new_file_uri’ throws an exception...
sord-0.16.18/src/sordi.c:146:7: danger: ‘in_fd’ leaks here; was allocated at [(15)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/14)
#  144|       char* const abs_path = zix_canonical_path(NULL, (const char*)input);
#  145|       base =
#  146|->       serd_node_new_file_uri((const uint8_t*)abs_path, NULL, &base_uri, true);
#  147|       zix_free(NULL, abs_path);
#  148|     }

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
diffbase-analyzer-version-clippy1.92.0
diffbase-analyzer-version-cppcheck2.19.1
diffbase-analyzer-version-gcc16.0.0
diffbase-analyzer-version-gcc-analyzer16.0.0
diffbase-analyzer-version-shellcheck0.11.0
diffbase-analyzer-version-unicontrol0.0.2
diffbase-enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
diffbase-exit-code0
diffbase-hostip-172-16-1-233.us-west-2.compute.internal
diffbase-known-false-positives/usr/share/csmock/known-false-positives.js
diffbase-known-false-positives-rpmknown-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch
diffbase-mock-configfedora-rawhide-x86_64
diffbase-project-namesord-0.16.20-1.fc44
diffbase-store-results-to/tmp/tmp_9o0gl2a/sord-0.16.20-1.fc44.tar.xz
diffbase-time-created2026-01-08 21:47:12
diffbase-time-finished2026-01-08 21:48:35
diffbase-toolcsmock
diffbase-tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmp_9o0gl2a/sord-0.16.20-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmp_9o0gl2a/sord-0.16.20-1.fc44.src.rpm'
diffbase-tool-versioncsmock-3.8.3.20251215.161544.g62de9a5-1.el9
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-233.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-namesord-0.16.18-2.fc43
store-results-to/tmp/tmpk9qurfze/sord-0.16.18-2.fc43.tar.xz
time-created2026-01-08 21:45:10
time-finished2026-01-08 21:47:04
titleFixed findings
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmpk9qurfze/sord-0.16.18-2.fc43.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpk9qurfze/sord-0.16.18-2.fc43.src.rpm'
tool-versioncsmock-3.8.3.20251215.161544.g62de9a5-1.el9