Newly introduced findings

List of Findings

Error: CPPCHECK_WARNING (CWE-562): [#def1]
qtshadertools-everywhere-src-6.9.0/src/3rdparty/SPIRV-Cross/spirv_msl.cpp:1087: error[danglingTempReference]: Using reference to dangling temporary.
# 1085|   
# 1086|   		auto &ptr_type = set<SPIRType>(type_ptr_id, uint_type_ptr);
# 1087|-> 		ptr_type.self = type_id;
# 1088|   		set<SPIRVariable>(var_id, type_ptr_id, StorageClassWorkgroup);
# 1089|   		set_name(var_id, "spvMeshSizes");

Error: CPPCHECK_WARNING (CWE-562): [#def2]
qtshadertools-everywhere-src-6.9.0/src/3rdparty/SPIRV-Cross/spirv_msl.cpp:1112: error[danglingTempReference]: Using reference to dangling temporary.
# 1110|   
# 1111|   		auto &ptr_in_type = set<SPIRType>(type_ptr_id, mesh_grid_type_ptr);
# 1112|-> 		ptr_in_type.self = type_id;
# 1113|   		set<SPIRVariable>(var_id, type_ptr_id, StorageClassOutput);
# 1114|   		set_name(var_id, "spvMgp");

Error: CPPCHECK_WARNING (CWE-562): [#def3]
qtshadertools-everywhere-src-6.9.0/src/3rdparty/SPIRV-Cross/spirv_msl.cpp:4625: error[danglingTempReference]: Using reference to dangling temporary.
# 4623|   	uint32_t next_id = ir.increase_bound_by(1);
# 4624|   	auto &type = set<SPIRType>(next_id, SPIRType(OpTypeStruct));
# 4625|-> 	type.basetype = SPIRType::Struct;
# 4626|   
# 4627|   	InterfaceBlockMeta meta;

Error: CPPCHECK_WARNING (CWE-562): [#def4]
qtshadertools-everywhere-src-6.9.0/src/3rdparty/SPIRV-Cross/spirv_msl.cpp:4632: error[danglingTempReference]: Using reference to dangling temporary.
# 4630|   		meta.strip_array = true;
# 4631|   		meta.allow_local_declaration = false;
# 4632|-> 		add_variable_to_interface_block(StorageClassOutput, "", type, *p_var, meta);
# 4633|   	}
# 4634|   

Error: CPPCHECK_WARNING (CWE-562): [#def5]
qtshadertools-everywhere-src-6.9.0/src/3rdparty/SPIRV-Cross/spirv_msl.cpp:4636: error[danglingTempReference]: Using reference to dangling temporary.
# 4634|   
# 4635|   	if (per_primitive)
# 4636|-> 		set_name(type.self, "spvPerPrimitive");
# 4637|   	else
# 4638|   		set_name(type.self, "spvPerVertex");

Error: CPPCHECK_WARNING (CWE-562): [#def6]
qtshadertools-everywhere-src-6.9.0/src/3rdparty/SPIRV-Cross/spirv_msl.cpp:4638: error[danglingTempReference]: Using reference to dangling temporary.
# 4636|   		set_name(type.self, "spvPerPrimitive");
# 4637|   	else
# 4638|-> 		set_name(type.self, "spvPerVertex");
# 4639|   
# 4640|   	return next_id;

Error: CPPCHECK_WARNING (CWE-562): [#def7]
qtshadertools-everywhere-src-6.9.0/src/3rdparty/SPIRV-Cross/spirv_msl.cpp:18715: error[danglingTempReference]: Using reference to dangling temporary.
#18713|   				set_decoration(var_id, DecorationBinding, kSwizzleBufferBinding);
#18714|   				resources_in_set[desc_set].push_back(
#18715|-> 				    { &var, to_name(var_id), SPIRType::UInt, get_metal_resource_index(var, SPIRType::UInt), 1, 0, 0 });
#18716|   			}
#18717|   

Error: CPPCHECK_WARNING (CWE-562): [#def8]
qtshadertools-everywhere-src-6.9.0/src/3rdparty/SPIRV-Cross/spirv_msl.cpp:18715: error[danglingTemporaryLifetime]: Using pointer that is a temporary.
#18713|   				set_decoration(var_id, DecorationBinding, kSwizzleBufferBinding);
#18714|   				resources_in_set[desc_set].push_back(
#18715|-> 				    { &var, to_name(var_id), SPIRType::UInt, get_metal_resource_index(var, SPIRType::UInt), 1, 0, 0 });
#18716|   			}
#18717|   

Error: CPPCHECK_WARNING (CWE-562): [#def9]
qtshadertools-everywhere-src-6.9.0/src/3rdparty/SPIRV-Cross/spirv_msl.cpp:18726: error[danglingTempReference]: Using reference to dangling temporary.
#18724|   				set_decoration(var_id, DecorationBinding, kBufferSizeBufferBinding);
#18725|   				resources_in_set[desc_set].push_back(
#18726|-> 				    { &var, to_name(var_id), SPIRType::UInt, get_metal_resource_index(var, SPIRType::UInt), 1, 0, 0 });
#18727|   			}
#18728|   		}

Error: CPPCHECK_WARNING (CWE-562): [#def10]
qtshadertools-everywhere-src-6.9.0/src/3rdparty/SPIRV-Cross/spirv_msl.cpp:18726: error[danglingTemporaryLifetime]: Using pointer that is a temporary.
#18724|   				set_decoration(var_id, DecorationBinding, kBufferSizeBufferBinding);
#18725|   				resources_in_set[desc_set].push_back(
#18726|-> 				    { &var, to_name(var_id), SPIRType::UInt, get_metal_resource_index(var, SPIRType::UInt), 1, 0, 0 });
#18727|   			}
#18728|   		}

Error: CPPCHECK_WARNING (CWE-562): [#def11]
qtshadertools-everywhere-src-6.9.0/src/3rdparty/SPIRV-Cross/spirv_msl.cpp:19001: error[danglingTempReference]: Using reference to dangling temporary.
#18999|   		}
#19000|   		
#19001|-> 		if (msl_options.replace_recursive_inputs && type_contains_recursion(buffer_type))
#19002|   		{
#19003|   			recursive_inputs.insert(type_id);

Error: CPPCHECK_WARNING (CWE-562): [#def12]
qtshadertools-everywhere-src-6.9.0/src/3rdparty/SPIRV-Cross/spirv_msl.cpp:19005: error[danglingTempReference]: Using reference to dangling temporary.
#19003|   			recursive_inputs.insert(type_id);
#19004|   			auto &entry_func = this->get<SPIRFunction>(ir.default_entry_point);
#19005|-> 			auto addr_space = get_argument_address_space(buffer_var);
#19006|   			entry_func.fixup_hooks_in.push_back([this, addr_space, buffer_name, buffer_type_name]() {
#19007|   				statement(addr_space, " auto& ", buffer_name, " = *(", addr_space, " ", buffer_type_name, "*)", buffer_name, "_vp;");

Error: CPPCHECK_WARNING (CWE-562): [#def13]
qtshadertools-everywhere-src-6.9.0/src/3rdparty/SPIRV-Cross/spirv_msl.cpp:19174: error[danglingTempReference]: Using reference to dangling temporary.
#19172|   	auto &wrapped_main = set<SPIRFunction>(func_id, f.return_type, f.function_type);
#19173|   
#19174|-> 	wrapped_main.blocks.push_back(block_id);
#19175|   	wrapped_main.entry_block = block_id;
#19176|   

Error: CPPCHECK_WARNING (CWE-562): [#def14]
qtshadertools-everywhere-src-6.9.0/src/3rdparty/SPIRV-Cross/spirv_msl.cpp:19175: error[danglingTempReference]: Using reference to dangling temporary.
#19173|   
#19174|   	wrapped_main.blocks.push_back(block_id);
#19175|-> 	wrapped_main.entry_block = block_id;
#19176|   
#19177|   	auto &wrapped_entry = set<SPIRBlock>(block_id);

Error: CPPCHECK_WARNING (CWE-562): [#def15]
qtshadertools-everywhere-src-6.9.0/src/3rdparty/SPIRV-Cross/spirv_msl.cpp:19178: error[danglingTempReference]: Using reference to dangling temporary.
#19176|   
#19177|   	auto &wrapped_entry = set<SPIRBlock>(block_id);
#19178|-> 	wrapped_entry.terminator = SPIRBlock::Return;
#19179|   
#19180|   	// Push call to original 'main'

Error: CPPCHECK_WARNING (CWE-562): [#def16]
qtshadertools-everywhere-src-6.9.0/src/3rdparty/SPIRV-Cross/spirv_msl.cpp:19190: error[danglingTempReference]: Using reference to dangling temporary.
#19188|   	ir.spirv.push_back(ep.self);
#19189|   
#19190|-> 	wrapped_entry.ops.push_back(ix);
#19191|   
#19192|   	// relace entry-point for new one

Scan Properties

analyzer-version-clippy1.86.0
analyzer-version-cppcheck2.17.1
analyzer-version-gcc15.0.1
analyzer-version-gcc-analyzer15.0.1
analyzer-version-shellcheck0.10.0
analyzer-version-unicontrol0.0.2
diffbase-analyzer-version-clippy1.86.0
diffbase-analyzer-version-cppcheck2.17.1
diffbase-analyzer-version-gcc15.0.1
diffbase-analyzer-version-gcc-analyzer15.0.1
diffbase-analyzer-version-shellcheck0.10.0
diffbase-analyzer-version-unicontrol0.0.2
diffbase-enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
diffbase-exit-code0
diffbase-hostip-172-16-1-97.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.20250425.124705.g1c7c448.main-1.el9.noarch
diffbase-mock-configfedora-rawhide-x86_64
diffbase-project-nameqt6-qtshadertools-6.8.2-1.fc42
diffbase-store-results-to/tmp/tmpjc1pe5zk/qt6-qtshadertools-6.8.2-1.fc42.tar.xz
diffbase-time-created2025-04-25 15:23:49
diffbase-time-finished2025-04-25 15:27:02
diffbase-toolcsmock
diffbase-tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'unicontrol,cppcheck,gcc,clippy,shellcheck' '-o' '/tmp/tmpjc1pe5zk/qt6-qtshadertools-6.8.2-1.fc42.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpjc1pe5zk/qt6-qtshadertools-6.8.2-1.fc42.src.rpm'
diffbase-tool-versioncsmock-3.8.1.20250422.172604.g26bc3d6-1.el9
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-97.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250425.124705.g1c7c448.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-nameqt6-qtshadertools-6.9.0-1.fc43
store-results-to/tmp/tmp816uw3d3/qt6-qtshadertools-6.9.0-1.fc43.tar.xz
time-created2025-04-25 15:27:15
time-finished2025-04-25 15:30:06
titleNewly introduced findings
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'unicontrol,cppcheck,gcc,clippy,shellcheck' '-o' '/tmp/tmp816uw3d3/qt6-qtshadertools-6.9.0-1.fc43.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmp816uw3d3/qt6-qtshadertools-6.9.0-1.fc43.src.rpm'
tool-versioncsmock-3.8.1.20250422.172604.g26bc3d6-1.el9