capstone-5.0.5-7.fc44

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-404): [#def1]
capstone-5.0.5/SStream.c:58:15: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
capstone-5.0.5/SStream.c:57:9: acquire_resource: ‘va_start’ called here
capstone-5.0.5/SStream.c:58:15: danger: missing call to ‘va_end’ to match ‘va_start’ at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   56|   
#   57|   	va_start(ap, fmt);
#   58|-> 	ret = cs_vsnprintf(ss->buffer + ss->index, sizeof(ss->buffer) - (ss->index + 1), fmt, ap);
#   59|   	va_end(ap);
#   60|   	ss->index += ret;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def2]
capstone-5.0.5/arch/ARM/ARMInstPrinter.c:1835:28: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
capstone-5.0.5/arch/ARM/ARMInstPrinter.c:1830:13: enter_function: entry to ‘printBankedRegOperand’
capstone-5.0.5/arch/ARM/ARMInstPrinter.c:1833:35: call_function: calling ‘lookupBankedRegByEncoding’ from ‘printBankedRegOperand’
capstone-5.0.5/arch/ARM/ARMInstPrinter.c:1833:35: return_function: returning to ‘printBankedRegOperand’ from ‘lookupBankedRegByEncoding’
capstone-5.0.5/arch/ARM/ARMInstPrinter.c:1835:28: danger: dereference of NULL ‘lookupBankedRegByEncoding((unsigned char)MCOperand_getImm(MCInst_getOperand(MI,  OpNum)))’
# 1833|   	const BankedReg *TheReg = lookupBankedRegByEncoding(Banked);
# 1834|   
# 1835|-> 	SStream_concat0(O, TheReg->Name);
# 1836|   	ARM_addSysReg(MI, TheReg->sysreg);
# 1837|   }

Error: CPPCHECK_WARNING (CWE-758): [#def3]
capstone-5.0.5/arch/TriCore/TriCoreInstPrinter.c:246: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#  244|   		uint64_t imm = MCOperand_getImm(MO);
#  245|   		for (unsigned i = n + 1; i < 32; ++i) {
#  246|-> 			imm &= ~(1 << i);
#  247|   		}
#  248|   		if (n == 4) {

Error: GCC_ANALYZER_WARNING (CWE-688): [#def4]
capstone-5.0.5/cs.c:554:30: warning[-Wanalyzer-null-argument]: use of NULL ‘str1’ where non-null expected
capstone-5.0.5/cs.c:1109:19: enter_function: entry to ‘cs_disasm_iter’
capstone-5.0.5/cs.c:1118:12: branch_false: following ‘false’ branch (when ‘ud != 0’)...
capstone-5.0.5/cs.c:1122:9: branch_false: ...to here
capstone-5.0.5/cs.c:1140:12: branch_true: following ‘true’ branch...
capstone-5.0.5/cs.c:1142:17: branch_true: ...to here
capstone-5.0.5/cs.c:1151:17: call_function: calling ‘fill_insn’ from ‘cs_disasm_iter’
#argument 1 of ‘__builtin_strlen’ must be non-null
#  552|   {
#  553|   	// only perform replacement if the output fits into result
#  554|-> 	if (strlen(target) - strlen(str1) + strlen(str2) < CS_MNEMONIC_SIZE - 1)  {
#  555|   		// copy str2 to begining of result
#  556|   		strcpy(result, str2);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def5]
capstone-5.0.5/cstool/cstool.c:156:13: warning[-Wanalyzer-malloc-leak]: leak of ‘preprocess(*<unknown>, & size)’
capstone-5.0.5/cstool/cstool.c:403:5: enter_function: entry to ‘main’
capstone-5.0.5/cstool/cstool.c:527:12: branch_false: following ‘false’ branch...
capstone-5.0.5/cstool/cstool.c:532:20: branch_false: ...to here
capstone-5.0.5/cstool/cstool.c:533:20: call_function: calling ‘preprocess’ from ‘main’
capstone-5.0.5/cstool/cstool.c:533:20: return_function: returning to ‘main’ from ‘preprocess’
capstone-5.0.5/cstool/cstool.c:534:12: branch_false: following ‘false’ branch...
capstone-5.0.5/cstool/cstool.c:539:12: branch_false: ...to here
capstone-5.0.5/cstool/cstool.c:539:12: branch_true: following ‘true’ branch (when ‘args_left == 3’)...
capstone-5.0.5/cstool/cstool.c:540:41: branch_true: ...to here
capstone-5.0.5/cstool/cstool.c:156:13: danger: ‘preprocess(*<unknown>, & size)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/7)
#  154|   	uint8_t *result;
#  155|   
#  156|-> 	if (strlen(code) == 0)
#  157|   		return NULL;
#  158|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def6]
capstone-5.0.5/cstool/cstool.c:551:31: warning[-Wanalyzer-malloc-leak]: leak of ‘preprocess(*<unknown>, & size)’
capstone-5.0.5/cstool/cstool.c:403:5: enter_function: entry to ‘main’
capstone-5.0.5/cstool/cstool.c:527:12: branch_false: following ‘false’ branch...
capstone-5.0.5/cstool/cstool.c:532:20: branch_false: ...to here
capstone-5.0.5/cstool/cstool.c:533:20: call_function: calling ‘preprocess’ from ‘main’
capstone-5.0.5/cstool/cstool.c:533:20: return_function: returning to ‘main’ from ‘preprocess’
capstone-5.0.5/cstool/cstool.c:534:12: branch_false: following ‘false’ branch...
capstone-5.0.5/cstool/cstool.c:539:12: branch_false: ...to here
capstone-5.0.5/cstool/cstool.c:548:21: branch_true: following ‘true’ branch...
capstone-5.0.5/cstool/cstool.c:549:22: branch_true: ...to here
capstone-5.0.5/cstool/cstool.c:549:20: branch_true: following ‘true’ branch (when the strings are equal)...
capstone-5.0.5/cstool/cstool.c:550:25: branch_true: ...to here
capstone-5.0.5/cstool/cstool.c:551:31: danger: ‘preprocess(*<unknown>, & size)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/7)
#  549|   		if (!strcmp(all_archs[i].name, mode)) {
#  550|   			arch = all_archs[i].arch;
#  551|-> 			err = cs_open(all_archs[i].arch, all_archs[i].mode, &handle);
#  552|   			if (!err) {
#  553|   				md = all_archs[i].mode;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def7]
capstone-5.0.5/cstool/cstool.c:555:41: warning[-Wanalyzer-malloc-leak]: leak of ‘preprocess(*<unknown>, & size)’
capstone-5.0.5/cstool/cstool.c:403:5: enter_function: entry to ‘main’
capstone-5.0.5/cstool/cstool.c:527:12: branch_false: following ‘false’ branch...
capstone-5.0.5/cstool/cstool.c:532:20: branch_false: ...to here
capstone-5.0.5/cstool/cstool.c:533:20: call_function: calling ‘preprocess’ from ‘main’
capstone-5.0.5/cstool/cstool.c:533:20: return_function: returning to ‘main’ from ‘preprocess’
capstone-5.0.5/cstool/cstool.c:534:12: branch_false: following ‘false’ branch...
capstone-5.0.5/cstool/cstool.c:539:12: branch_false: ...to here
capstone-5.0.5/cstool/cstool.c:548:21: branch_true: following ‘true’ branch...
capstone-5.0.5/cstool/cstool.c:549:22: branch_true: ...to here
capstone-5.0.5/cstool/cstool.c:549:20: branch_true: following ‘true’ branch (when the strings are equal)...
capstone-5.0.5/cstool/cstool.c:550:25: branch_true: ...to here
capstone-5.0.5/cstool/cstool.c:552:28: branch_true: following ‘true’ branch...
capstone-5.0.5/cstool/cstool.c:553:33: branch_true: ...to here
capstone-5.0.5/cstool/cstool.c:554:36: branch_true: following ‘true’ branch...
capstone-5.0.5/cstool/cstool.c:555:41: branch_true: ...to here
capstone-5.0.5/cstool/cstool.c:555:41: danger: ‘preprocess(*<unknown>, & size)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/7)
#  553|   				md = all_archs[i].mode;
#  554|   				if (strstr (mode, "att")) {
#  555|-> 					cs_option(handle, CS_OPT_SYNTAX, CS_OPT_SYNTAX_ATT);
#  556|   				}
#  557|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def8]
capstone-5.0.5/cstool/cstool.c:586:17: warning[-Wanalyzer-malloc-leak]: leak of ‘preprocess(*<unknown>, & size)’
capstone-5.0.5/cstool/cstool.c:403:5: enter_function: entry to ‘main’
capstone-5.0.5/cstool/cstool.c:527:12: branch_false: following ‘false’ branch...
capstone-5.0.5/cstool/cstool.c:532:20: branch_false: ...to here
capstone-5.0.5/cstool/cstool.c:533:20: call_function: calling ‘preprocess’ from ‘main’
capstone-5.0.5/cstool/cstool.c:533:20: return_function: returning to ‘main’ from ‘preprocess’
capstone-5.0.5/cstool/cstool.c:534:12: branch_false: following ‘false’ branch...
capstone-5.0.5/cstool/cstool.c:539:12: branch_false: ...to here
capstone-5.0.5/cstool/cstool.c:548:21: branch_true: following ‘true’ branch...
capstone-5.0.5/cstool/cstool.c:549:22: branch_true: ...to here
capstone-5.0.5/cstool/cstool.c:552:28: branch_true: following ‘true’ branch...
capstone-5.0.5/cstool/cstool.c:553:33: branch_true: ...to here
capstone-5.0.5/cstool/cstool.c:554:36: branch_false: following ‘false’ branch...
capstone-5.0.5/cstool/cstool.c:559:36: branch_false: ...to here
capstone-5.0.5/cstool/cstool.c:566:12: branch_false: following ‘false’ branch (when ‘arch != 65535’)...
capstone-5.0.5/cstool/cstool.c:572:12: branch_false: ...to here
capstone-5.0.5/cstool/cstool.c:572:12: branch_false: following ‘false’ branch (when ‘err == 0’)...
capstone-5.0.5/cstool/cstool.c:578:12: branch_false: ...to here
capstone-5.0.5/cstool/cstool.c:586:17: danger: ‘preprocess(*<unknown>, & size)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/7)
#  584|   	}
#  585|   
#  586|-> 	count = cs_disasm(handle, assembly, size, address, 0, &insn);
#  587|   	if (count > 0) {
#  588|   		size_t i;

Error: COMPILER_WARNING (CWE-758): [#def9]
capstone-5.0.5/tests/test_arm64.c:241:6: warning[-Wmissing-prototypes]: no previous prototype for ‘test_macros’
#  241 | void test_macros() {
#      |      ^~~~~~~~~~~
#  239|   }
#  240|   
#  241|-> void test_macros() {
#  242|   	assert(CS_AARCH64(_INS_BL) == ARM64_INS_BL);
#  243|   	assert(CS_AARCH64pre(CS_ARCH_) == CS_ARCH_ARM64);

Error: COMPILER_WARNING (CWE-563): [#def10]
capstone-5.0.5/tests/test_arm64.c:246:19: warning[-Wunused-but-set-variable]: variable ‘detail’ set but not used
#  246 |         cs_detail detail = { 0 };
#      |                   ^~~~~~
#  244|   	assert(CS_AARCH64CC(_AL) == ARM64_CC_AL);
#  245|   	assert(CS_AARCH64_VL_(16B) == ARM64_VAS_16B);
#  246|-> 	cs_detail detail = { 0 };
#  247|   	CS_cs_aarch64() arm64_detail = { 0 };
#  248|   	detail.arm64 = arm64_detail;

Error: COMPILER_WARNING (CWE-563): [#def11]
capstone-5.0.5/tests/test_arm64.c:251:26: warning[-Wunused-variable]: unused variable ‘reg’
#  251 |         CS_aarch64_reg() reg = 1;
#      |                          ^~~
#  249|   	CS_aarch64_op() op = { 0 };
#  250|   	detail.CS_aarch64_.operands[0] = op;
#  251|-> 	CS_aarch64_reg() reg = 1;
#  252|   	CS_aarch64_cc() cc = ARM64_CC_AL;
#  253|   	CS_aarch64_extender() arm64_extender = ARM64_EXT_SXTB;

Error: COMPILER_WARNING (CWE-563): [#def12]
capstone-5.0.5/tests/test_arm64.c:252:25: warning[-Wunused-variable]: unused variable ‘cc’
#  252 |         CS_aarch64_cc() cc = ARM64_CC_AL;
#      |                         ^~
#  250|   	detail.CS_aarch64_.operands[0] = op;
#  251|   	CS_aarch64_reg() reg = 1;
#  252|-> 	CS_aarch64_cc() cc = ARM64_CC_AL;
#  253|   	CS_aarch64_extender() arm64_extender = ARM64_EXT_SXTB;
#  254|   	CS_aarch64_shifter() arm64_shifter = ARM64_SFT_LSL;

Error: COMPILER_WARNING (CWE-563): [#def13]
capstone-5.0.5/tests/test_arm64.c:253:31: warning[-Wunused-variable]: unused variable ‘arm64_extender’
#  253 |         CS_aarch64_extender() arm64_extender = ARM64_EXT_SXTB;
#      |                               ^~~~~~~~~~~~~~
#  251|   	CS_aarch64_reg() reg = 1;
#  252|   	CS_aarch64_cc() cc = ARM64_CC_AL;
#  253|-> 	CS_aarch64_extender() arm64_extender = ARM64_EXT_SXTB;
#  254|   	CS_aarch64_shifter() arm64_shifter = ARM64_SFT_LSL;
#  255|   	CS_aarch64_vas() arm64_vas = ARM64_VAS_16B;

Error: COMPILER_WARNING (CWE-563): [#def14]
capstone-5.0.5/tests/test_arm64.c:254:30: warning[-Wunused-variable]: unused variable ‘arm64_shifter’
#  254 |         CS_aarch64_shifter() arm64_shifter = ARM64_SFT_LSL;
#      |                              ^~~~~~~~~~~~~
#  252|   	CS_aarch64_cc() cc = ARM64_CC_AL;
#  253|   	CS_aarch64_extender() arm64_extender = ARM64_EXT_SXTB;
#  254|-> 	CS_aarch64_shifter() arm64_shifter = ARM64_SFT_LSL;
#  255|   	CS_aarch64_vas() arm64_vas = ARM64_VAS_16B;
#  256|   }

Error: COMPILER_WARNING (CWE-563): [#def15]
capstone-5.0.5/tests/test_arm64.c: scope_hint: In function ‘test_macros’
capstone-5.0.5/tests/test_arm64.c:255:26: warning[-Wunused-variable]: unused variable ‘arm64_vas’
#  255 |         CS_aarch64_vas() arm64_vas = ARM64_VAS_16B;
#      |                          ^~~~~~~~~
#  253|   	CS_aarch64_extender() arm64_extender = ARM64_EXT_SXTB;
#  254|   	CS_aarch64_shifter() arm64_shifter = ARM64_SFT_LSL;
#  255|-> 	CS_aarch64_vas() arm64_vas = ARM64_VAS_16B;
#  256|   }
#  257|   

Error: CPPCHECK_WARNING (CWE-190): [#def16]
capstone-5.0.5/tests/test_basic.c:192: error[integerOverflow]: Signed integer overflow for expression 'CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN'.
#  190|   		{
#  191|   			CS_ARCH_MIPS,
#  192|-> 			(cs_mode)(CS_MODE_MIPS32 + CS_MODE_BIG_ENDIAN),
#  193|   			(unsigned char*)MIPS_CODE,
#  194|   			sizeof(MIPS_CODE) - 1,

Error: CPPCHECK_WARNING (CWE-190): [#def17]
capstone-5.0.5/tests/test_basic.c:206: error[integerOverflow]: Signed integer overflow for expression 'CS_MODE_MIPS32R6+CS_MODE_MICRO+CS_MODE_BIG_ENDIAN'.
#  204|   		{
#  205|   			CS_ARCH_MIPS,
#  206|-> 			(cs_mode)(CS_MODE_MIPS32R6 + CS_MODE_MICRO + CS_MODE_BIG_ENDIAN),
#  207|   			(unsigned char*)MIPS_32R6M,
#  208|   			sizeof(MIPS_32R6M) - 1,

Error: CPPCHECK_WARNING (CWE-190): [#def18]
capstone-5.0.5/tests/test_basic.c:213: error[integerOverflow]: Signed integer overflow for expression 'CS_MODE_MIPS32R6+CS_MODE_BIG_ENDIAN'.
#  211|   		{
#  212|   			CS_ARCH_MIPS,
#  213|-> 			(cs_mode)(CS_MODE_MIPS32R6 + CS_MODE_BIG_ENDIAN),
#  214|   			(unsigned char*)MIPS_32R6,
#  215|   			sizeof(MIPS_32R6) - 1,

Error: CPPCHECK_WARNING (CWE-190): [#def19]
capstone-5.0.5/tests/test_basic.c:247: error[integerOverflow]: Signed integer overflow for expression 'CS_MODE_BIG_ENDIAN+CS_MODE_QPX'.
#  245|   		{
#  246|   			CS_ARCH_PPC,
#  247|-> 			CS_MODE_BIG_ENDIAN + CS_MODE_QPX,
#  248|   			(unsigned char*)PPC_CODE2,
#  249|   			sizeof(PPC_CODE2) - 1,

Error: CPPCHECK_WARNING (CWE-190): [#def20]
capstone-5.0.5/tests/test_basic.c:263: error[integerOverflow]: Signed integer overflow for expression 'CS_MODE_BIG_ENDIAN+CS_MODE_V9'.
#  261|   		{
#  262|   			CS_ARCH_SPARC,
#  263|-> 			(cs_mode)(CS_MODE_BIG_ENDIAN + CS_MODE_V9),
#  264|   			(unsigned char*)SPARCV9_CODE,
#  265|   			sizeof(SPARCV9_CODE) - 1,

Error: CPPCHECK_WARNING (CWE-190): [#def21]
capstone-5.0.5/tests/test_detail.c:160: error[integerOverflow]: Signed integer overflow for expression 'CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN'.
#  158|   		{
#  159|   			CS_ARCH_MIPS,
#  160|-> 			(cs_mode)(CS_MODE_MIPS32 + CS_MODE_BIG_ENDIAN),
#  161|   			(unsigned char *)MIPS_CODE,
#  162|   			sizeof(MIPS_CODE) - 1,

Error: CPPCHECK_WARNING (CWE-190): [#def22]
capstone-5.0.5/tests/test_detail.c:174: error[integerOverflow]: Signed integer overflow for expression 'CS_MODE_MIPS32R6+CS_MODE_MICRO+CS_MODE_BIG_ENDIAN'.
#  172|   		{
#  173|   			CS_ARCH_MIPS,
#  174|-> 			(cs_mode)(CS_MODE_MIPS32R6 + CS_MODE_MICRO + CS_MODE_BIG_ENDIAN),
#  175|   			(unsigned char*)MIPS_32R6M,
#  176|   			sizeof(MIPS_32R6M) - 1,

Error: CPPCHECK_WARNING (CWE-190): [#def23]
capstone-5.0.5/tests/test_detail.c:181: error[integerOverflow]: Signed integer overflow for expression 'CS_MODE_MIPS32R6+CS_MODE_BIG_ENDIAN'.
#  179|   		{
#  180|   			CS_ARCH_MIPS,
#  181|-> 			(cs_mode)(CS_MODE_MIPS32R6 + CS_MODE_BIG_ENDIAN),
#  182|   			(unsigned char*)MIPS_32R6,
#  183|   			sizeof(MIPS_32R6) - 1,

Error: CPPCHECK_WARNING (CWE-190): [#def24]
capstone-5.0.5/tests/test_detail.c:206: error[integerOverflow]: Signed integer overflow for expression 'CS_MODE_BIG_ENDIAN+CS_MODE_QPX'.
#  204|   		{
#  205|   			CS_ARCH_PPC,
#  206|-> 			CS_MODE_BIG_ENDIAN + CS_MODE_QPX,
#  207|   			(unsigned char*)PPC_CODE2,
#  208|   			sizeof(PPC_CODE2) - 1,

Error: CPPCHECK_WARNING (CWE-190): [#def25]
capstone-5.0.5/tests/test_detail.c:222: error[integerOverflow]: Signed integer overflow for expression 'CS_MODE_BIG_ENDIAN+CS_MODE_V9'.
#  220|   		{
#  221|   			CS_ARCH_SPARC,
#  222|-> 			(cs_mode)(CS_MODE_BIG_ENDIAN + CS_MODE_V9),
#  223|   			(unsigned char*)SPARCV9_CODE,
#  224|   			sizeof(SPARCV9_CODE) - 1,

Error: CPPCHECK_WARNING (CWE-190): [#def26]
capstone-5.0.5/tests/test_iter.c:148: error[integerOverflow]: Signed integer overflow for expression 'CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN'.
#  146|   		{
#  147|   			CS_ARCH_MIPS,
#  148|-> 			(cs_mode)(CS_MODE_MIPS32 + CS_MODE_BIG_ENDIAN),
#  149|   			(unsigned char *)MIPS_CODE,
#  150|   			sizeof(MIPS_CODE) - 1,

Error: CPPCHECK_WARNING (CWE-190): [#def27]
capstone-5.0.5/tests/test_iter.c:189: error[integerOverflow]: Signed integer overflow for expression 'CS_MODE_BIG_ENDIAN+CS_MODE_V9'.
#  187|   		{
#  188|   			CS_ARCH_SPARC,
#  189|-> 			(cs_mode)(CS_MODE_BIG_ENDIAN + CS_MODE_V9),
#  190|   			(unsigned char*)SPARCV9_CODE,
#  191|   			sizeof(SPARCV9_CODE) - 1,

Error: CPPCHECK_WARNING (CWE-190): [#def28]
capstone-5.0.5/tests/test_ppc.c:130: error[integerOverflow]: Signed integer overflow for expression 'CS_MODE_BIG_ENDIAN+CS_MODE_QPX'.
#  128|   		{
#  129|   			CS_ARCH_PPC,
#  130|-> 			(cs_mode)(CS_MODE_BIG_ENDIAN + CS_MODE_QPX),
#  131|   			(unsigned char*)PPC_CODE2,
#  132|   			sizeof(PPC_CODE2) - 1,

Error: CPPCHECK_WARNING (CWE-190): [#def29]
capstone-5.0.5/tests/test_ppc.c:137: error[integerOverflow]: Signed integer overflow for expression 'CS_MODE_BIG_ENDIAN+CS_MODE_PS'.
#  135|   		{
#  136|   			CS_ARCH_PPC,
#  137|-> 			(cs_mode)(CS_MODE_BIG_ENDIAN + CS_MODE_PS),
#  138|   			(unsigned char*)PPC_CODE3,
#  139|   			sizeof(PPC_CODE3) - 1,

Error: COMPILER_WARNING (CWE-704): [#def30]
capstone-5.0.5/tests/test_sh.c:66:9: warning[-Wdiscarded-qualifiers]: initialization discards ‘const’ qualifier from pointer target type
#   66 |         "Register indirect",
#      |         ^~~~~~~~~~~~~~~~~~~
#   64|   
#   65|   static char *reg_address_msg[] = {
#   66|-> 	"Register indirect",
#   67|   	"Register indirect with predecrement",
#   68|   	"Register indirect with postincrement",

Error: COMPILER_WARNING (CWE-704): [#def31]
capstone-5.0.5/tests/test_sh.c:67:9: warning[-Wdiscarded-qualifiers]: initialization discards ‘const’ qualifier from pointer target type
#   67 |         "Register indirect with predecrement",
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#   65|   static char *reg_address_msg[] = {
#   66|   	"Register indirect",
#   67|-> 	"Register indirect with predecrement",
#   68|   	"Register indirect with postincrement",
#   69|   };

Error: COMPILER_WARNING (CWE-704): [#def32]
capstone-5.0.5/tests/test_sh.c:68:9: warning[-Wdiscarded-qualifiers]: initialization discards ‘const’ qualifier from pointer target type
#   68 |         "Register indirect with postincrement",
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#   66|   	"Register indirect",
#   67|   	"Register indirect with predecrement",
#   68|-> 	"Register indirect with postincrement",
#   69|   };
#   70|   

Error: COMPILER_WARNING: [#def33]
capstone-5.0.5/tests/test_sh.c: scope_hint: In function ‘print_insn_detail’
capstone-5.0.5/tests/test_sh.c:99:72: warning[-Wformat=]: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘uint64_t’ {aka ‘long unsigned int’}
#   99 |                         printf("\t\toperands[%u].type: IMMEDIATE = #%llu\n", i,
#      |                                                                     ~~~^
#      |                                                                        |
#      |                                                                        long long unsigned int
#      |                                                                     %lu
#  100 |                                op->imm);
#      |                                ~~~~~~~                                  
#      |                                  |
#      |                                  uint64_t {aka long unsigned int}
#   97|   
#   98|   		case SH_OP_IMM:
#   99|-> 			printf("\t\toperands[%u].type: IMMEDIATE = #%llu\n", i,
#  100|   			       op->imm);
#  101|   			break;

Error: CPPCHECK_WARNING (CWE-190): [#def34]
capstone-5.0.5/tests/test_sparc.c:95: error[integerOverflow]: Signed integer overflow for expression 'CS_MODE_BIG_ENDIAN+CS_MODE_V9'.
#   93|   		{
#   94|   			CS_ARCH_SPARC,
#   95|-> 			(cs_mode)(CS_MODE_BIG_ENDIAN + CS_MODE_V9),
#   96|   			(unsigned char*)SPARCV9_CODE,
#   97|   			sizeof(SPARCV9_CODE) - 1,

Error: COMPILER_WARNING (CWE-704): [#def35]
capstone-5.0.5/tests/test_tricore.c: scope_hint: In function ‘test’
capstone-5.0.5/tests/test_tricore.c:85:25: warning[-Wdiscarded-qualifiers]: initialization discards ‘const’ qualifier from pointer target type
#   85 |                         "TriCore",
#      |                         ^~~~~~~~~
#   83|   			(unsigned char *)TRICORE_CODE,
#   84|   			sizeof(TRICORE_CODE) - 1,
#   85|-> 			"TriCore",
#   86|   		},
#   87|   	};

Error: COMPILER_WARNING (CWE-704): [#def36]
capstone-5.0.5/tests/test_tricore.c:112:42: warning[-Wdiscarded-qualifiers]: passing argument 1 of ‘print_string_hex’ discards ‘const’ qualifier from pointer target type
#  112 |                         print_string_hex("Code:", platforms[i].code,
#      |                                          ^~~~~~~
capstone-5.0.5/tests/test_tricore.c:19:36: note: expected ‘char *’ but argument is of type ‘const char *’
#   19 | static void print_string_hex(char *comment, unsigned char *str, size_t len)
#      |                              ~~~~~~^~~~~~~
#  110|   			printf("****************\n");
#  111|   			printf("Platform: %s\n", platforms[i].comment);
#  112|-> 			print_string_hex("Code:", platforms[i].code,
#  113|   					 platforms[i].size);
#  114|   			printf("Disasm:\n");

Error: COMPILER_WARNING (CWE-704): [#def37]
capstone-5.0.5/tests/test_tricore.c:130:42: warning[-Wdiscarded-qualifiers]: passing argument 1 of ‘print_string_hex’ discards ‘const’ qualifier from pointer target type
#  130 |                         print_string_hex("Code:", platforms[i].code,
#      |                                          ^~~~~~~
capstone-5.0.5/tests/test_tricore.c:19:36: note: expected ‘char *’ but argument is of type ‘const char *’
#   19 | static void print_string_hex(char *comment, unsigned char *str, size_t len)
#      |                              ~~~~~~^~~~~~~
#  128|   			printf("****************\n");
#  129|   			printf("Platform: %s\n", platforms[i].comment);
#  130|-> 			print_string_hex("Code:", platforms[i].code,
#  131|   					 platforms[i].size);
#  132|   			printf("ERROR: Failed to disasm given code!\n");

Error: GCC_ANALYZER_WARNING (CWE-404): [#def38]
capstone-5.0.5/utils.c:54:15: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
capstone-5.0.5/utils.c:53:9: acquire_resource: ‘va_start’ called here
capstone-5.0.5/utils.c:54:15: danger: missing call to ‘va_end’ to match ‘va_start’ at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   52|   	va_list ap;
#   53|   	va_start(ap, fmt);
#   54|-> 	ret = cs_vsnprintf(buffer, size, fmt, ap);
#   55|   	va_end(ap);
#   56|   

Scan Properties

analyzer-version-clippy1.90.0
analyzer-version-cppcheck2.18.3
analyzer-version-gcc15.2.1
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-142.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-gcc-latest-x86_64
project-namecapstone-5.0.5-7.fc44
store-results-to/tmp/tmpb4kw9atq/capstone-5.0.5-7.fc44.tar.xz
time-created2025-10-28 17:33:25
time-finished2025-10-28 17:37:18
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-gcc-latest-x86_64' '-t' 'gcc,cppcheck,shellcheck,clippy,unicontrol' '-o' '/tmp/tmpb4kw9atq/capstone-5.0.5-7.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--install=gcc-latest' '--gcc-analyzer-bin=/opt/gcc-latest/bin/gcc' '/tmp/tmpb4kw9atq/capstone-5.0.5-7.fc44.src.rpm'
tool-versioncsmock-3.8.3.20251027.143044.ge6b947b-1.el9