Task #1382 - kexec-tools-2.0.28-4.fc40/scan-results.err
back to task #1382download
Error: COMPILER_WARNING (CWE-665): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/baseops.c:8199:29: warning[-Wmissing-braces]: missing braces around initializer # 8199 | void (*opfuncs[8][8][16])()={ # | ^ # 8200 | # 8201 | op_ADD_sc_sc, op_SUB_sc_sc, op_DIV_sc_sc, op_MUL_sc_sc, op_XOR_sc_sc, op_MOD_sc_sc, op_OR_sc_sc, op_AND_sc_sc, op_SHL_sc_sc, op_SHR_sc_sc, op_EQ_sc_sc, op_GT_sc_sc, op_LT_sc_sc, op_GE_sc_sc, op_LE_sc_sc, op_NE_sc_sc, # | {{ } # 8202 | # 8203 | op_ADD_sc_uc, op_SUB_sc_uc, op_DIV_sc_uc, op_MUL_sc_uc, op_XOR_sc_uc, op_MOD_sc_uc, op_OR_sc_uc, op_AND_sc_uc, op_SHL_sc_uc, op_SHR_sc_uc, op_EQ_sc_uc, op_GT_sc_uc, op_LT_sc_uc, op_GE_sc_uc, op_LE_sc_uc, op_NE_sc_uc, # | { } # 8204 | # 8205 | op_ADD_sc_ss, op_SUB_sc_ss, op_DIV_sc_ss, op_MUL_sc_ss, op_XOR_sc_ss, op_MOD_sc_ss, op_OR_sc_ss, op_AND_sc_ss, op_SHL_sc_ss, op_SHR_sc_ss, op_EQ_sc_ss, op_GT_sc_ss, op_LT_sc_ss, op_GE_sc_ss, op_LE_sc_ss, op_NE_sc_ss, # | { } # 8206 | # 8207 | op_ADD_sc_us, op_SUB_sc_us, op_DIV_sc_us, op_MUL_sc_us, op_XOR_sc_us, op_MOD_sc_us, op_OR_sc_us, op_AND_sc_us, op_SHL_sc_us, op_SHR_sc_us, op_EQ_sc_us, op_GT_sc_us, op_LT_sc_us, op_GE_sc_us, op_LE_sc_us, op_NE_sc_us, # | { } # 8208 | # 8209 | op_ADD_sc_sl, op_SUB_sc_sl, op_DIV_sc_sl, op_MUL_sc_sl, op_XOR_sc_sl, op_MOD_sc_sl, op_OR_sc_sl, op_AND_sc_sl, op_SHL_sc_sl, op_SHR_sc_sl, op_EQ_sc_sl, op_GT_sc_sl, op_LT_sc_sl, op_GE_sc_sl, op_LE_sc_sl, op_NE_sc_sl, # | { } # 8210 | # 8211 | op_ADD_sc_ul, op_SUB_sc_ul, op_DIV_sc_ul, op_MUL_sc_ul, op_XOR_sc_ul, op_MOD_sc_ul, op_OR_sc_ul, op_AND_sc_ul, op_SHL_sc_ul, op_SHR_sc_ul, op_EQ_sc_ul, op_GT_sc_ul, op_LT_sc_ul, op_GE_sc_ul, op_LE_sc_ul, op_NE_sc_ul, # | { } # 8212 | # 8213 | op_ADD_sc_sll, op_SUB_sc_sll, op_DIV_sc_sll, op_MUL_sc_sll, op_XOR_sc_sll, op_MOD_sc_sll, op_OR_sc_sll, op_AND_sc_sll, op_SHL_sc_sll, op_SHR_sc_sll, op_EQ_sc_sll, op_GT_sc_sll, op_LT_sc_sll, op_GE_sc_sll, op_LE_sc_sll, op_NE_sc_sll, # | { } # 8214 | # 8215 | op_ADD_sc_ull, op_SUB_sc_ull, op_DIV_sc_ull, op_MUL_sc_ull, op_XOR_sc_ull, op_MOD_sc_ull, op_OR_sc_ull, op_AND_sc_ull, op_SHL_sc_ull, op_SHR_sc_ull, op_EQ_sc_ull, op_GT_sc_ull, op_LT_sc_ull, op_GE_sc_ull, op_LE_sc_ull, op_NE_sc_ull, # | { }} # 8216 | # 8217 | op_ADD_uc_sc, op_SUB_uc_sc, op_DIV_uc_sc, op_MUL_uc_sc, op_XOR_uc_sc, op_MOD_uc_sc, op_OR_uc_sc, op_AND_uc_sc, op_SHL_uc_sc, op_SHR_uc_sc, op_EQ_uc_sc, op_GT_uc_sc, op_LT_uc_sc, op_GE_uc_sc, op_LE_uc_sc, op_NE_uc_sc, # | {{ } # 8218 | # 8219 | op_ADD_uc_uc, op_SUB_uc_uc, op_DIV_uc_uc, op_MUL_uc_uc, op_XOR_uc_uc, op_MOD_uc_uc, op_OR_uc_uc, op_AND_uc_uc, op_SHL_uc_uc, op_SHR_uc_uc, op_EQ_uc_uc, op_GT_uc_uc, op_LT_uc_uc, op_GE_uc_uc, op_LE_uc_uc, op_NE_uc_uc, # | { } # 8220 | # 8221 | op_ADD_uc_ss, op_SUB_uc_ss, op_DIV_uc_ss, op_MUL_uc_ss, op_XOR_uc_ss, op_MOD_uc_ss, op_OR_uc_ss, op_AND_uc_ss, op_SHL_uc_ss, op_SHR_uc_ss, op_EQ_uc_ss, op_GT_uc_ss, op_LT_uc_ss, op_GE_uc_ss, op_LE_uc_ss, op_NE_uc_ss, # | { } # 8222 | # 8223 | op_ADD_uc_us, op_SUB_uc_us, op_DIV_uc_us, op_MUL_uc_us, op_XOR_uc_us, op_MOD_uc_us, op_OR_uc_us, op_AND_uc_us, op_SHL_uc_us, op_SHR_uc_us, op_EQ_uc_us, op_GT_uc_us, op_LT_uc_us, op_GE_uc_us, op_LE_uc_us, op_NE_uc_us, # | { } # 8224 | # 8225 | op_ADD_uc_sl, op_SUB_uc_sl, op_DIV_uc_sl, op_MUL_uc_sl, op_XOR_uc_sl, op_MOD_uc_sl, op_OR_uc_sl, op_AND_uc_sl, op_SHL_uc_sl, op_SHR_uc_sl, op_EQ_uc_sl, op_GT_uc_sl, op_LT_uc_sl, op_GE_uc_sl, op_LE_uc_sl, op_NE_uc_sl, # | { } # 8226 | # 8227 | op_ADD_uc_ul, op_SUB_uc_ul, op_DIV_uc_ul, op_MUL_uc_ul, op_XOR_uc_ul, op_MOD_uc_ul, op_OR_uc_ul, op_AND_uc_ul, op_SHL_uc_ul, op_SHR_uc_ul, op_EQ_uc_ul, op_GT_uc_ul, op_LT_uc_ul, op_GE_uc_ul, op_LE_uc_ul, op_NE_uc_ul, # | { } # 8228 | # 8229 | op_ADD_uc_sll, op_SUB_uc_sll, op_DIV_uc_sll, op_MUL_uc_sll, op_XOR_uc_sll, op_MOD_uc_sll, op_OR_uc_sll, op_AND_uc_sll, op_SHL_uc_sll, op_SHR_uc_sll, op_EQ_uc_sll, op_GT_uc_sll, op_LT_uc_sll, op_GE_uc_sll, op_LE_uc_sll, op_NE_uc_sll, # | { } # 8230 | # 8231 | op_ADD_uc_ull, op_SUB_uc_ull, op_DIV_uc_ull, op_MUL_uc_ull, op_XOR_uc_ull, op_MOD_uc_ull, op_OR_uc_ull, op_AND_uc_ull, op_SHL_uc_ull, op_SHR_uc_ull, op_EQ_uc_ull, op_GT_uc_ull, op_LT_uc_ull, op_GE_uc_ull, op_LE_uc_ull, op_NE_uc_ull, # | { }} # 8232 | # 8233 | op_ADD_ss_sc, op_SUB_ss_sc, op_DIV_ss_sc, op_MUL_ss_sc, op_XOR_ss_sc, op_MOD_ss_sc, op_OR_ss_sc, op_AND_ss_sc, op_SHL_ss_sc, op_SHR_ss_sc, op_EQ_ss_sc, op_GT_ss_sc, op_LT_ss_sc, op_GE_ss_sc, op_LE_ss_sc, op_NE_ss_sc, # | {{ } # 8234 | # 8235 | op_ADD_ss_uc, op_SUB_ss_uc, op_DIV_ss_uc, op_MUL_ss_uc, op_XOR_ss_uc, op_MOD_ss_uc, op_OR_ss_uc, op_AND_ss_uc, op_SHL_ss_uc, op_SHR_ss_uc, op_EQ_ss_uc, op_GT_ss_uc, op_LT_ss_uc, op_GE_ss_uc, op_LE_ss_uc, op_NE_ss_uc, # | { } # 8236 | # 8237 | op_ADD_ss_ss, op_SUB_ss_ss, op_DIV_ss_ss, op_MUL_ss_ss, op_XOR_ss_ss, op_MOD_ss_ss, op_OR_ss_ss, op_AND_ss_ss, op_SHL_ss_ss, op_SHR_ss_ss, op_EQ_ss_ss, op_GT_ss_ss, op_LT_ss_ss, op_GE_ss_ss, op_LE_ss_ss, op_NE_ss_ss, # | { } # 8238 | # 8239 | op_ADD_ss_us, op_SUB_ss_us, op_DIV_ss_us, op_MUL_ss_us, op_XOR_ss_us, op_MOD_ss_us, op_OR_ss_us, op_AND_ss_us, op_SHL_ss_us, op_SHR_ss_us, op_EQ_ss_us, op_GT_ss_us, op_LT_ss_us, op_GE_ss_us, op_LE_ss_us, op_NE_ss_us, # | { } # 8240 | # 8241 | op_ADD_ss_sl, op_SUB_ss_sl, op_DIV_ss_sl, op_MUL_ss_sl, op_XOR_ss_sl, op_MOD_ss_sl, op_OR_ss_sl, op_AND_ss_sl, op_SHL_ss_sl, op_SHR_ss_sl, op_EQ_ss_sl, op_GT_ss_sl, op_LT_ss_sl, op_GE_ss_sl, op_LE_ss_sl, op_NE_ss_sl, # | { } # 8242 | # 8243 | op_ADD_ss_ul, op_SUB_ss_ul, op_DIV_ss_ul, op_MUL_ss_ul, op_XOR_ss_ul, op_MOD_ss_ul, op_OR_ss_ul, op_AND_ss_ul, op_SHL_ss_ul, op_SHR_ss_ul, op_EQ_ss_ul, op_GT_ss_ul, op_LT_ss_ul, op_GE_ss_ul, op_LE_ss_ul, op_NE_ss_ul, # | { } # 8244 | # 8245 | op_ADD_ss_sll, op_SUB_ss_sll, op_DIV_ss_sll, op_MUL_ss_sll, op_XOR_ss_sll, op_MOD_ss_sll, op_OR_ss_sll, op_AND_ss_sll, op_SHL_ss_sll, op_SHR_ss_sll, op_EQ_ss_sll, op_GT_ss_sll, op_LT_ss_sll, op_GE_ss_sll, op_LE_ss_sll, op_NE_ss_sll, # | { } # 8246 | # 8247 | op_ADD_ss_ull, op_SUB_ss_ull, op_DIV_ss_ull, op_MUL_ss_ull, op_XOR_ss_ull, op_MOD_ss_ull, op_OR_ss_ull, op_AND_ss_ull, op_SHL_ss_ull, op_SHR_ss_ull, op_EQ_ss_ull, op_GT_ss_ull, op_LT_ss_ull, op_GE_ss_ull, op_LE_ss_ull, op_NE_ss_ull, # | { }} # 8248 | # 8249 | op_ADD_us_sc, op_SUB_us_sc, op_DIV_us_sc, op_MUL_us_sc, op_XOR_us_sc, op_MOD_us_sc, op_OR_us_sc, op_AND_us_sc, op_SHL_us_sc, op_SHR_us_sc, op_EQ_us_sc, op_GT_us_sc, op_LT_us_sc, op_GE_us_sc, op_LE_us_sc, op_NE_us_sc, # | {{ } # 8250 | # 8251 | op_ADD_us_uc, op_SUB_us_uc, op_DIV_us_uc, op_MUL_us_uc, op_XOR_us_uc, op_MOD_us_uc, op_OR_us_uc, op_AND_us_uc, op_SHL_us_uc, op_SHR_us_uc, op_EQ_us_uc, op_GT_us_uc, op_LT_us_uc, op_GE_us_uc, op_LE_us_uc, op_NE_us_uc, # | { } # 8252 | # 8253 | op_ADD_us_ss, op_SUB_us_ss, op_DIV_us_ss, op_MUL_us_ss, op_XOR_us_ss, op_MOD_us_ss, op_OR_us_ss, op_AND_us_ss, op_SHL_us_ss, op_SHR_us_ss, op_EQ_us_ss, op_GT_us_ss, op_LT_us_ss, op_GE_us_ss, op_LE_us_ss, op_NE_us_ss, # | { } # 8254 | # 8255 | op_ADD_us_us, op_SUB_us_us, op_DIV_us_us, op_MUL_us_us, op_XOR_us_us, op_MOD_us_us, op_OR_us_us, op_AND_us_us, op_SHL_us_us, op_SHR_us_us, op_EQ_us_us, op_GT_us_us, op_LT_us_us, op_GE_us_us, op_LE_us_us, op_NE_us_us, # | { } # 8256 | # 8257 | op_ADD_us_sl, op_SUB_us_sl, op_DIV_us_sl, op_MUL_us_sl, op_XOR_us_sl, op_MOD_us_sl, op_OR_us_sl, op_AND_us_sl, op_SHL_us_sl, op_SHR_us_sl, op_EQ_us_sl, op_GT_us_sl, op_LT_us_sl, op_GE_us_sl, op_LE_us_sl, op_NE_us_sl, # | { } # 8258 | # 8259 | op_ADD_us_ul, op_SUB_us_ul, op_DIV_us_ul, op_MUL_us_ul, op_XOR_us_ul, op_MOD_us_ul, op_OR_us_ul, op_AND_us_ul, op_SHL_us_ul, op_SHR_us_ul, op_EQ_us_ul, op_GT_us_ul, op_LT_us_ul, op_GE_us_ul, op_LE_us_ul, op_NE_us_ul, # | { } # 8260 | # 8261 | op_ADD_us_sll, op_SUB_us_sll, op_DIV_us_sll, op_MUL_us_sll, op_XOR_us_sll, op_MOD_us_sll, op_OR_us_sll, op_AND_us_sll, op_SHL_us_sll, op_SHR_us_sll, op_EQ_us_sll, op_GT_us_sll, op_LT_us_sll, op_GE_us_sll, op_LE_us_sll, op_NE_us_sll, # | { } # 8262 | # 8263 | op_ADD_us_ull, op_SUB_us_ull, op_DIV_us_ull, op_MUL_us_ull, op_XOR_us_ull, op_MOD_us_ull, op_OR_us_ull, op_AND_us_ull, op_SHL_us_ull, op_SHR_us_ull, op_EQ_us_ull, op_GT_us_ull, op_LT_us_ull, op_GE_us_ull, op_LE_us_ull, op_NE_us_ull, # | { }} # 8264 | # 8265 | op_ADD_sl_sc, op_SUB_sl_sc, op_DIV_sl_sc, op_MUL_sl_sc, op_XOR_sl_sc, op_MOD_sl_sc, op_OR_sl_sc, op_AND_sl_sc, op_SHL_sl_sc, op_SHR_sl_sc, op_EQ_sl_sc, op_GT_sl_sc, op_LT_sl_sc, op_GE_sl_sc, op_LE_sl_sc, op_NE_sl_sc, # | {{ } # 8266 | # 8267 | op_ADD_sl_uc, op_SUB_sl_uc, op_DIV_sl_uc, op_MUL_sl_uc, op_XOR_sl_uc, op_MOD_sl_uc, op_OR_sl_uc, op_AND_sl_uc, op_SHL_sl_uc, op_SHR_sl_uc, op_EQ_sl_uc, op_GT_sl_uc, op_LT_sl_uc, op_GE_sl_uc, op_LE_sl_uc, op_NE_sl_uc, # | { } # 8268 | # 8269 | op_ADD_sl_ss, op_SUB_sl_ss, op_DIV_sl_ss, op_MUL_sl_ss, op_XOR_sl_ss, op_MOD_sl_ss, op_OR_sl_ss, op_AND_sl_ss, op_SHL_sl_ss, op_SHR_sl_ss, op_EQ_sl_ss, op_GT_sl_ss, op_LT_sl_ss, op_GE_sl_ss, op_LE_sl_ss, op_NE_sl_ss, # | { } # 8270 | # 8271 | op_ADD_sl_us, op_SUB_sl_us, op_DIV_sl_us, op_MUL_sl_us, op_XOR_sl_us, op_MOD_sl_us, op_OR_sl_us, op_AND_sl_us, op_SHL_sl_us, op_SHR_sl_us, op_EQ_sl_us, op_GT_sl_us, op_LT_sl_us, op_GE_sl_us, op_LE_sl_us, op_NE_sl_us, # | { } # 8272 | # 8273 | op_ADD_sl_sl, op_SUB_sl_sl, op_DIV_sl_sl, op_MUL_sl_sl, op_XOR_sl_sl, op_MOD_sl_sl, op_OR_sl_sl, op_AND_sl_sl, op_SHL_sl_sl, op_SHR_sl_sl, op_EQ_sl_sl, op_GT_sl_sl, op_LT_sl_sl, op_GE_sl_sl, op_LE_sl_sl, op_NE_sl_sl, # | { } # 8274 | # 8275 | op_ADD_sl_ul, op_SUB_sl_ul, op_DIV_sl_ul, op_MUL_sl_ul, op_XOR_sl_ul, op_MOD_sl_ul, op_OR_sl_ul, op_AND_sl_ul, op_SHL_sl_ul, op_SHR_sl_ul, op_EQ_sl_ul, op_GT_sl_ul, op_LT_sl_ul, op_GE_sl_ul, op_LE_sl_ul, op_NE_sl_ul, # | { } # 8276 | # 8277 | op_ADD_sl_sll, op_SUB_sl_sll, op_DIV_sl_sll, op_MUL_sl_sll, op_XOR_sl_sll, op_MOD_sl_sll, op_OR_sl_sll, op_AND_sl_sll, op_SHL_sl_sll, op_SHR_sl_sll, op_EQ_sl_sll, op_GT_sl_sll, op_LT_sl_sll, op_GE_sl_sll, op_LE_sl_sll, op_NE_sl_sll, # | { } # 8278 | # 8279 | op_ADD_sl_ull, op_SUB_sl_ull, op_DIV_sl_ull, op_MUL_sl_ull, op_XOR_sl_ull, op_MOD_sl_ull, op_OR_sl_ull, op_AND_sl_ull, op_SHL_sl_ull, op_SHR_sl_ull, op_EQ_sl_ull, op_GT_sl_ull, op_LT_sl_ull, op_GE_sl_ull, op_LE_sl_ull, op_NE_sl_ull, # | { }} # 8280 | # 8281 | op_ADD_ul_sc, op_SUB_ul_sc, op_DIV_ul_sc, op_MUL_ul_sc, op_XOR_ul_sc, op_MOD_ul_sc, op_OR_ul_sc, op_AND_ul_sc, op_SHL_ul_sc, op_SHR_ul_sc, op_EQ_ul_sc, op_GT_ul_sc, op_LT_ul_sc, op_GE_ul_sc, op_LE_ul_sc, op_NE_ul_sc, # | {{ } # 8282 | # 8283 | op_ADD_ul_uc, op_SUB_ul_uc, op_DIV_ul_uc, op_MUL_ul_uc, op_XOR_ul_uc, op_MOD_ul_uc, op_OR_ul_uc, op_AND_ul_uc, op_SHL_ul_uc, op_SHR_ul_uc, op_EQ_ul_uc, op_GT_ul_uc, op_LT_ul_uc, op_GE_ul_uc, op_LE_ul_uc, op_NE_ul_uc, # | { } # 8284 | # 8285 | op_ADD_ul_ss, op_SUB_ul_ss, op_DIV_ul_ss, op_MUL_ul_ss, op_XOR_ul_ss, op_MOD_ul_ss, op_OR_ul_ss, op_AND_ul_ss, op_SHL_ul_ss, op_SHR_ul_ss, op_EQ_ul_ss, op_GT_ul_ss, op_LT_ul_ss, op_GE_ul_ss, op_LE_ul_ss, op_NE_ul_ss, # | { } # 8286 | # 8287 | op_ADD_ul_us, op_SUB_ul_us, op_DIV_ul_us, op_MUL_ul_us, op_XOR_ul_us, op_MOD_ul_us, op_OR_ul_us, op_AND_ul_us, op_SHL_ul_us, op_SHR_ul_us, op_EQ_ul_us, op_GT_ul_us, op_LT_ul_us, op_GE_ul_us, op_LE_ul_us, op_NE_ul_us, # | { } # 8288 | # 8289 | op_ADD_ul_sl, op_SUB_ul_sl, op_DIV_ul_sl, op_MUL_ul_sl, op_XOR_ul_sl, op_MOD_ul_sl, op_OR_ul_sl, op_AND_ul_sl, op_SHL_ul_sl, op_SHR_ul_sl, op_EQ_ul_sl, op_GT_ul_sl, op_LT_ul_sl, op_GE_ul_sl, op_LE_ul_sl, op_NE_ul_sl, # | { } # 8290 | # 8291 | op_ADD_ul_ul, op_SUB_ul_ul, op_DIV_ul_ul, op_MUL_ul_ul, op_XOR_ul_ul, op_MOD_ul_ul, op_OR_ul_ul, op_AND_ul_ul, op_SHL_ul_ul, op_SHR_ul_ul, op_EQ_ul_ul, op_GT_ul_ul, op_LT_ul_ul, op_GE_ul_ul, op_LE_ul_ul, op_NE_ul_ul, # | { } # 8292 | # 8293 | op_ADD_ul_sll, op_SUB_ul_sll, op_DIV_ul_sll, op_MUL_ul_sll, op_XOR_ul_sll, op_MOD_ul_sll, op_OR_ul_sll, op_AND_ul_sll, op_SHL_ul_sll, op_SHR_ul_sll, op_EQ_ul_sll, op_GT_ul_sll, op_LT_ul_sll, op_GE_ul_sll, op_LE_ul_sll, op_NE_ul_sll, # | { } # 8294 | # 8295 | op_ADD_ul_ull, op_SUB_ul_ull, op_DIV_ul_ull, op_MUL_ul_ull, op_XOR_ul_ull, op_MOD_ul_ull, op_OR_ul_ull, op_AND_ul_ull, op_SHL_ul_ull, op_SHR_ul_ull, op_EQ_ul_ull, op_GT_ul_ull, op_LT_ul_ull, op_GE_ul_ull, op_LE_ul_ull, op_NE_ul_ull, # | { }} # 8296 | # 8297 | op_ADD_sll_sc, op_SUB_sll_sc, op_DIV_sll_sc, op_MUL_sll_sc, op_XOR_sll_sc, op_MOD_sll_sc, op_OR_sll_sc, op_AND_sll_sc, op_SHL_sll_sc, op_SHR_sll_sc, op_EQ_sll_sc, op_GT_sll_sc, op_LT_sll_sc, op_GE_sll_sc, op_LE_sll_sc, op_NE_sll_sc, # | {{ } # 8298 | # 8299 | op_ADD_sll_uc, op_SUB_sll_uc, op_DIV_sll_uc, op_MUL_sll_uc, op_XOR_sll_uc, op_MOD_sll_uc, op_OR_sll_uc, op_AND_sll_uc, op_SHL_sll_uc, op_SHR_sll_uc, op_EQ_sll_uc, op_GT_sll_uc, op_LT_sll_uc, op_GE_sll_uc, op_LE_sll_uc, op_NE_sll_uc, # | { } # 8300 | # 8301 | op_ADD_sll_ss, op_SUB_sll_ss, op_DIV_sll_ss, op_MUL_sll_ss, op_XOR_sll_ss, op_MOD_sll_ss, op_OR_sll_ss, op_AND_sll_ss, op_SHL_sll_ss, op_SHR_sll_ss, op_EQ_sll_ss, op_GT_sll_ss, op_LT_sll_ss, op_GE_sll_ss, op_LE_sll_ss, op_NE_sll_ss, # | { } # 8302 | # 8303 | op_ADD_sll_us, op_SUB_sll_us, op_DIV_sll_us, op_MUL_sll_us, op_XOR_sll_us, op_MOD_sll_us, op_OR_sll_us, op_AND_sll_us, op_SHL_sll_us, op_SHR_sll_us, op_EQ_sll_us, op_GT_sll_us, op_LT_sll_us, op_GE_sll_us, op_LE_sll_us, op_NE_sll_us, # | { } # 8304 | # 8305 | op_ADD_sll_sl, op_SUB_sll_sl, op_DIV_sll_sl, op_MUL_sll_sl, op_XOR_sll_sl, op_MOD_sll_sl, op_OR_sll_sl, op_AND_sll_sl, op_SHL_sll_sl, op_SHR_sll_sl, op_EQ_sll_sl, op_GT_sll_sl, op_LT_sll_sl, op_GE_sll_sl, op_LE_sll_sl, op_NE_sll_sl, # | { } # 8306 | # 8307 | op_ADD_sll_ul, op_SUB_sll_ul, op_DIV_sll_ul, op_MUL_sll_ul, op_XOR_sll_ul, op_MOD_sll_ul, op_OR_sll_ul, op_AND_sll_ul, op_SHL_sll_ul, op_SHR_sll_ul, op_EQ_sll_ul, op_GT_sll_ul, op_LT_sll_ul, op_GE_sll_ul, op_LE_sll_ul, op_NE_sll_ul, # | { } # 8308 | # 8309 | op_ADD_sll_sll, op_SUB_sll_sll, op_DIV_sll_sll, op_MUL_sll_sll, op_XOR_sll_sll, op_MOD_sll_sll, op_OR_sll_sll, op_AND_sll_sll, op_SHL_sll_sll, op_SHR_sll_sll, op_EQ_sll_sll, op_GT_sll_sll, op_LT_sll_sll, op_GE_sll_sll, op_LE_sll_sll, op_NE_sll_sll, # | { } # 8310 | # 8311 | op_ADD_sll_ull, op_SUB_sll_ull, op_DIV_sll_ull, op_MUL_sll_ull, op_XOR_sll_ull, op_MOD_sll_ull, op_OR_sll_ull, op_AND_sll_ull, op_SHL_sll_ull, op_SHR_sll_ull, op_EQ_sll_ull, op_GT_sll_ull, op_LT_sll_ull, op_GE_sll_ull, op_LE_sll_ull, op_NE_sll_ull, # | { }} # 8312 | # 8313 | op_ADD_ull_sc, op_SUB_ull_sc, op_DIV_ull_sc, op_MUL_ull_sc, op_XOR_ull_sc, op_MOD_ull_sc, op_OR_ull_sc, op_AND_ull_sc, op_SHL_ull_sc, op_SHR_ull_sc, op_EQ_ull_sc, op_GT_ull_sc, op_LT_ull_sc, op_GE_ull_sc, op_LE_ull_sc, op_NE_ull_sc, # | {{ } # 8314 | # 8315 | op_ADD_ull_uc, op_SUB_ull_uc, op_DIV_ull_uc, op_MUL_ull_uc, op_XOR_ull_uc, op_MOD_ull_uc, op_OR_ull_uc, op_AND_ull_uc, op_SHL_ull_uc, op_SHR_ull_uc, op_EQ_ull_uc, op_GT_ull_uc, op_LT_ull_uc, op_GE_ull_uc, op_LE_ull_uc, op_NE_ull_uc, # | { } # 8316 | # 8317 | op_ADD_ull_ss, op_SUB_ull_ss, op_DIV_ull_ss, op_MUL_ull_ss, op_XOR_ull_ss, op_MOD_ull_ss, op_OR_ull_ss, op_AND_ull_ss, op_SHL_ull_ss, op_SHR_ull_ss, op_EQ_ull_ss, op_GT_ull_ss, op_LT_ull_ss, op_GE_ull_ss, op_LE_ull_ss, op_NE_ull_ss, # | { } # 8318 | # 8319 | op_ADD_ull_us, op_SUB_ull_us, op_DIV_ull_us, op_MUL_ull_us, op_XOR_ull_us, op_MOD_ull_us, op_OR_ull_us, op_AND_ull_us, op_SHL_ull_us, op_SHR_ull_us, op_EQ_ull_us, op_GT_ull_us, op_LT_ull_us, op_GE_ull_us, op_LE_ull_us, op_NE_ull_us, # | { } # 8320 | # 8321 | op_ADD_ull_sl, op_SUB_ull_sl, op_DIV_ull_sl, op_MUL_ull_sl, op_XOR_ull_sl, op_MOD_ull_sl, op_OR_ull_sl, op_AND_ull_sl, op_SHL_ull_sl, op_SHR_ull_sl, op_EQ_ull_sl, op_GT_ull_sl, op_LT_ull_sl, op_GE_ull_sl, op_LE_ull_sl, op_NE_ull_sl, # | { } # 8322 | # 8323 | op_ADD_ull_ul, op_SUB_ull_ul, op_DIV_ull_ul, op_MUL_ull_ul, op_XOR_ull_ul, op_MOD_ull_ul, op_OR_ull_ul, op_AND_ull_ul, op_SHL_ull_ul, op_SHR_ull_ul, op_EQ_ull_ul, op_GT_ull_ul, op_LT_ull_ul, op_GE_ull_ul, op_LE_ull_ul, op_NE_ull_ul, # | { } # 8324 | # 8325 | op_ADD_ull_sll, op_SUB_ull_sll, op_DIV_ull_sll, op_MUL_ull_sll, op_XOR_ull_sll, op_MOD_ull_sll, op_OR_ull_sll, op_AND_ull_sll, op_SHL_ull_sll, op_SHR_ull_sll, op_EQ_ull_sll, op_GT_ull_sll, op_LT_ull_sll, op_GE_ull_sll, op_LE_ull_sll, op_NE_ull_sll, # | { } # 8326 | # 8327 | op_ADD_ull_ull, op_SUB_ull_ull, op_DIV_ull_ull, op_MUL_ull_ull, op_XOR_ull_ull, op_MOD_ull_ull, op_OR_ull_ull, op_AND_ull_ull, op_SHL_ull_ull, op_SHR_ull_ull, op_EQ_ull_ull, op_GT_ull_ull, op_LT_ull_ull, op_GE_ull_ull, op_LE_ull_ull, op_NE_ull_ull, # | { # 8328 | }; # | }} # 8197| ret->type.size=4; # 8198| } # 8199|-> void (*opfuncs[8][8][16])()={ # 8200| # 8201| op_ADD_sc_sc, op_SUB_sc_sc, op_DIV_sc_sc, op_MUL_sc_sc, op_XOR_sc_sc, op_MOD_sc_sc, op_OR_sc_sc, op_AND_sc_sc, op_SHL_sc_sc, op_SHR_sc_sc, op_EQ_sc_sc, op_GT_sc_sc, op_LT_sc_sc, op_GE_sc_sc, op_LE_sc_sc, op_NE_sc_sc, Error: CPPCHECK_WARNING (CWE-823): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/baseops.c:8344: error[arrayIndexOutOfBounds]: Array 'opfuncs[8][8][16]' accessed at index opfuncs[*][*][16], which is out of bounds. # 8342| } # 8343| if(i==16) eppic_error("Oops!ops!"); # 8344|-> (opfuncs[v1->type.idx][v2->type.idx][i])(v1,v2,ret); # 8345| } Error: GCC_ANALYZER_WARNING (CWE-401): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c: scope_hint: In function ‘eppicparse’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:552:21: warning[-Wanalyzer-malloc-leak]: leak of ‘yyptr’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:112:40: note: in definition of macro ‘YY_CAST’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:538:25: note: in expansion of macro ‘YYMALLOC’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:1758:20: note: in expansion of macro ‘YYSTACK_ALLOC’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:1480:7: note: in expansion of macro ‘yydebug’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:1806:7: note: in expansion of macro ‘YYDPRINTF’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:1828:17: note: in expansion of macro ‘YYTRANSLATE’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:1489:7: note: in expansion of macro ‘yydebug’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:1852:3: note: in expansion of macro ‘YY_SYMBOL_PRINT’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:112:40: note: in definition of macro ‘YY_CAST’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:538:25: note: in expansion of macro ‘YYMALLOC’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:1758:20: note: in expansion of macro ‘YYSTACK_ALLOC’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:612:25: note: in definition of macro ‘YYCOPY’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:1761:9: note: in expansion of macro ‘YYSTACK_RELOCATE’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:1480:7: note: in expansion of macro ‘yydebug’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:1806:7: note: in expansion of macro ‘YYDPRINTF’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:1717:3: note: in expansion of macro ‘YY_STACK_PRINT’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:112:40: note: in definition of macro ‘YY_CAST’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:538:25: note: in expansion of macro ‘YYMALLOC’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:1758:20: note: in expansion of macro ‘YYSTACK_ALLOC’ # 550| # endif # 551| # ifndef YYMALLOC # 552|-> # define YYMALLOC malloc # 553| # if ! defined malloc && ! defined EXIT_SUCCESS # 554| void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ Error: GCC_ANALYZER_WARNING (CWE-457): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:612:7: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘yyss’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:597:9: note: in expansion of macro ‘YYCOPY’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:1761:9: note: in expansion of macro ‘YYSTACK_RELOCATE’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:612:25: note: in definition of macro ‘YYCOPY’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:1761:9: note: in expansion of macro ‘YYSTACK_RELOCATE’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:597:9: note: in expansion of macro ‘YYCOPY’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.tab.c:1761:9: note: in expansion of macro ‘YYSTACK_RELOCATE’ # 610| # if defined __GNUC__ && 1 < __GNUC__ # 611| # define YYCOPY(Dst, Src, Count) \ # 612|-> __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src))) # 613| # else # 614| # define YYCOPY(Dst, Src, Count) \ Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_alloc.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-401): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_alloc.c: scope_hint: In function ‘eppic_alloc’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_alloc.c:204:10: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’ # 202| npages=((size+PAGESIZE+4)/PAGESIZE)+2; # 203| p=(unsigned long)malloc(npages*PAGESIZE); # 204|-> p=(p+PAGESIZE)&PAGEMASK; # 205| pp=p+((npages-2)*PAGESIZE); # 206| p=pp-size; Error: GCC_ANALYZER_WARNING (CWE-476): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_alloc.c:225:13: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘m’ # 223| # 224| bl=(blist*)m; # 225|-> bl->size=size; # 226| bl->level=njmps; # 227| bl->prev=bl->next=bl; Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_api.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_api.c:178:13: warning[core.NonNullParamChecker]: Null pointer passed to 2nd parameter expecting 'nonnull' # 176| # 177| for(neg=nlist; neg; neg=neg->next) # 178|-> if(!strcmp(neg->name, name)) return 1; # 179| return 0; # 180| } Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_api.c:245:13: warning[core.NullDereference]: Access to field 'all' results in a dereference of a null pointer (loaded from variable 'st') # 243| eppic_error("Oops eppic_ispartial"); # 244| } # 245|-> return !st->all; # 246| } # 247| Error: COMPILER_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_api.c: scope_hint: In function ‘eppic_getctype’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_api.c:456:13: warning[-Wframe-address]: calling ‘__builtin_return_address’ with a nonzero argument is unsafe # 456 | eppic_dbg_named(DBG_TYPE, name, 2, "[%s] not found in image caller = 0x%08x, 0x%08x\n", name, # | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # 457 | __return_address, __builtin_return_address(1)); # | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # 454| if(!API_GETCTYPE(ctype, name, &st->ctype)) { # 455| # 456|-> eppic_dbg_named(DBG_TYPE, name, 2, "[%s] not found in image caller = 0x%08x, 0x%08x\n", name, # 457| __return_address, __builtin_return_address(1)); # 458| //if(!strcmp(name,"hlist_head") && ctype == 7) *(int*)0=0; Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_api.c:475:30: warning[core.NonNullParamChecker]: Null pointer passed to 1st parameter expecting 'nonnull' # 473| } # 474| eppic_dbg_named(DBG_TYPE, name, 2, "getctype [%s] found in image\n", name); # 475|-> st->name=eppic_alloc(strlen(name)+1); # 476| strcpy(st->name, name); # 477| st->stm=0; Error: GCC_ANALYZER_WARNING (CWE-476): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_api.c: scope_hint: In function ‘eppic_getalign’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_api.c:683:15: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_api.c:15: included_from: Included from here. kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_api.c:870:14: note: in expansion of macro ‘NODE_NAME’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_api.c:665:8: note: in expansion of macro ‘is_ctype’ # 681| } # 682| # 683|-> for(sm=st->stm; sm; sm=sm->next) { # 684| # 685| int a=eppic_getalign(&sm->type); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_api.c:683:16: warning[core.NullDereference]: Access to field 'stm' results in a dereference of a null pointer (loaded from variable 'st') # 681| } # 682| # 683|-> for(sm=st->stm; sm; sm=sm->next) { # 684| # 685| int a=eppic_getalign(&sm->type); Error: GCC_ANALYZER_WARNING (CWE-476): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_api.c: scope_hint: In function ‘eppic_chkctype’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_api.c:725:15: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_api.c:870:14: note: in expansion of macro ‘NODE_NAME’ # 723| #endif # 724| # 725|-> if(sti->all) { # 726| # 727| eppic_error("Oops eppic_ctype_decl"); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_api.c:980:24: warning[core.NullDereference]: Dereference of null pointer # 978| eppic_error("Error while evaluating array size"); # 979| } # 980|-> if(vidx->type.type != V_BASE) { # 981| # 982| eppic_freeval(vidx); Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_builtin.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_builtin.c:387:20: warning[core.NullDereference]: Array access (from variable 'vals') results in a null pointer dereference # 385| # 386| /* verify type compatibility and convert */ # 387|-> if(vals[nargs]) { # 388| # 389| lvals[nargs]=eppic_cloneval(vv->v); Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_define.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: COMPILER_WARNING (CWE-1164): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_define.c: scope_hint: At top level kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_define.c:67:1: warning[-Wunused-function]: ‘pmacs’ defined but not used # 67 | pmacs() # | ^~~~~ # 65| # 66| static void # 67|-> pmacs() # 68| { # 69| mac_t *eppic_getcurmac(void); Error: COMPILER_WARNING (CWE-563): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_define.c:86:12: warning[-Wunused-variable]: unused variable ‘mm’ # 86 | mac_t *m, *mm=0; # | ^~ # 84| eppic_getmac(char *name, int takeof) # 85| { # 86|-> mac_t *m, *mm=0; # 87| mac_t *prev=0; # 88| mac_t *eppic_getcurmac(void); Error: COMPILER_WARNING (CWE-563): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_define.c: scope_hint: In function ‘eppic_getmac’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_define.c:89:5: warning[-Wunused-variable]: unused variable ‘nosubs’ # 89 | int nosubs=0; # | ^~~~~~ # 87| mac_t *prev=0; # 88| mac_t *eppic_getcurmac(void); # 89|-> int nosubs=0; # 90| # 91| eppic_dbg_named(DBG_MAC, name, 2, "Looking for macro %s\n", name); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_define.c:331:20: warning[core.NullDereference]: Access to field 'buf' results in a dereference of a null pointer (loaded from variable 'm') # 329| # 330| if(!m) eppic_error("Oops macro pop!"); # 331|-> eppic_free(m->buf); # 332| eppic_free(m->name); # 333| eppic_free(m); Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_func.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_func.c:228:5: warning[core.NonNullParamChecker]: Null pointer passed to 1st parameter expecting 'nonnull' # 226| } # 227| # 228|-> dlclose(fd->globs); # 229| # 230| if(fall==fd) fall=fd->next; Error: COMPILER_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_func.c: scope_hint: In function ‘eppic_getnxtfct’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_func.c:786:21: warning[-Wstringop-truncation]: ‘__strncpy_chk’ specified bound depends on the length of the source argument # 786 | strncpy(buf, nxtfunc->name, l-5); # | ^ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_func.c:777:19: note: length computed here # 777 | int l=strlen(nxtfunc->name); # | ^~~~~~~~~~~~~~~~~~~~~ # 784| func *ret; # 785| # 786|-> strncpy(buf, nxtfunc->name, l-5); # 787| buf[l-5]='\0'; # 788| Error: GCC_ANALYZER_WARNING (CWE-476): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_func.c:879:17: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘fall’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_func.c: scope_hint: In function ‘eppic_newfunc’ # 877| eppic_insertfunc(func *f) # 878| { # 879|-> f->next=fall->funcs; # 880| fall->funcs=f; # 881| } Error: CPPCHECK_WARNING (CWE-457): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_func.c:947: error[legacyUninitvar]: Uninitialized variable: retval # 945| # 946| /* make sure non void function do return something */ # 947|-> if(!retval) { # 948| # 949| if(!eppic_isvoid(f->rvar->v->type.typattr)) Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_func.c:947:8: warning[core.uninitialized.Branch]: Branch condition evaluates to a garbage value # 945| # 946| /* make sure non void function do return something */ # 947|-> if(!retval) { # 948| # 949| if(!eppic_isvoid(f->rvar->v->type.typattr)) Error: CPPCHECK_WARNING (CWE-457): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_func.c:1197: error[legacyUninitvar]: Uninitialized variable: exval # 1195| else { # 1196| # 1197|-> ret=*exval; # 1198| } # 1199| Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_func.c:1197:17: warning[core.NullDereference]: Dereference of undefined pointer value (loaded from variable 'exval') # 1195| else { # 1196| # 1197|-> ret=*exval; # 1198| } # 1199| Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_input.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: COMPILER_WARNING (CWE-704): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_input.c:482:18: warning[-Wlto-type-mismatch]: type of ‘eppicpprestart’ does not match original declaration # 482 | void eppicpprestart(int); # | ^ ../eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/<stdout>:1648:10: note: type mismatch in parameter 1 ../eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/<stdout>:1648:10: note: ‘eppicpprestart’ was previously declared here ../eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/<stdout>:1648:10: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used # 480| { # 481| node_t*n; # 482|-> void eppicpprestart(int); # 483| void eppicppparse(void); # 484| char *expr=eppic_getline(); Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_member.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-688): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_member.c: scope_hint: In function ‘eppic_setmem’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_member.c:122:17: warning[-Wanalyzer-null-argument]: use of NULL where non-null expected kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_member.c:16: included_from: Included from here. kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.h:163:23: note: in definition of macro ‘is_ctype’ <built-in>: note: argument 2 of ‘__builtin_memmove’ must be non-null # 120| if(m->local) { # 121| # 122|-> memmove(m->local+stm->m.offset, eppic_adrval(v), stm->m.size); # 123| # 124| } Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_member.c:145:8: warning[core.NullDereference]: Dereference of null pointer # 143| } # 144| /* get that value_t from the application memory */ # 145|-> if(is_ctype(stm->type.type) && !stm->type.idxlst) { # 146| # 147| void *data=eppic_alloc(stm->m.size); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_member.c:241:23: warning[core.NullDereference]: Dereference of null pointer # 239| m->local=0; # 240| m->mem=eppic_defbsize()==8?vp->v.ull:vp->v.ul; # 241|-> mempos=m->mem+stm->m.offset; # 242| # 243| /* get that value_t from the system image */ Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-476): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c: scope_hint: In function ‘eppic_exeop’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c:728:15: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘v’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c: scope_hint: In function ‘eppic_exeop’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c:709:18: note: in expansion of macro ‘V1’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c:709:18: note: in expansion of macro ‘V1’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c:15: included_from: Included from here. kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.h:242:23: note: in definition of macro ‘NODE_EXE’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c:37:32: note: in expansion of macro ‘P1’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c:709:18: note: in expansion of macro ‘V1’ # 726| } # 727| /* the result of a assignment if not an Lvalue_t */ # 728|-> v->set=0; # 729| } # 730| eppic_freeval(v1); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c:728:15: warning[core.NullDereference]: Access to field 'set' results in a dereference of a null pointer (loaded from variable 'v') # 726| } # 727| /* the result of a assignment if not an Lvalue_t */ # 728|-> v->set=0; # 729| } # 730| eppic_freeval(v1); Error: GCC_ANALYZER_WARNING (CWE-457): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c: scope_hint: In function ‘eppic_do_deref’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c:836:21: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘madr’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.h:163:23: note: in definition of macro ‘is_ctype’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.h:163:23: note: in definition of macro ‘is_ctype’ # 834| # 835| v->v.data=eppic_alloc(v->type.size); # 836|-> eppic_getmem(madr, v->v.data, v->type.size); # 837| # 838| } else { Error: GCC_ANALYZER_WARNING (CWE-457): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c:843:33: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘madr’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.h:163:23: note: in definition of macro ‘is_ctype’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.h:163:23: note: in definition of macro ‘is_ctype’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c:841:28: note: in expansion of macro ‘TYPE_SIZE’ # 841| switch(TYPE_SIZE(&v->type)) { # 842| # 843|-> case 1: eppic_getmem(madr, &v->v.uc, 1); # 844| break; # 845| case 2: eppic_getmem(madr, &v->v.us, 2); Error: GCC_ANALYZER_WARNING (CWE-457): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c:845:33: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘madr’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.h:163:23: note: in definition of macro ‘is_ctype’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.h:163:23: note: in definition of macro ‘is_ctype’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c:841:28: note: in expansion of macro ‘TYPE_SIZE’ # 843| case 1: eppic_getmem(madr, &v->v.uc, 1); # 844| break; # 845|-> case 2: eppic_getmem(madr, &v->v.us, 2); # 846| break; # 847| case 4: eppic_getmem(madr, &v->v.ul, 4); Error: GCC_ANALYZER_WARNING (CWE-457): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c:847:33: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘madr’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.h:163:23: note: in definition of macro ‘is_ctype’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.h:163:23: note: in definition of macro ‘is_ctype’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c:841:28: note: in expansion of macro ‘TYPE_SIZE’ # 845| case 2: eppic_getmem(madr, &v->v.us, 2); # 846| break; # 847|-> case 4: eppic_getmem(madr, &v->v.ul, 4); # 848| break; # 849| case 8: eppic_getmem(madr, &v->v.ull, 8); Error: GCC_ANALYZER_WARNING (CWE-457): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c:849:33: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘madr’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.h:163:23: note: in definition of macro ‘is_ctype’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.h:163:23: note: in definition of macro ‘is_ctype’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c:841:28: note: in expansion of macro ‘TYPE_SIZE’ # 847| case 4: eppic_getmem(madr, &v->v.ul, 4); # 848| break; # 849|-> case 8: eppic_getmem(madr, &v->v.ull, 8); # 850| break; # 851| Error: GCC_ANALYZER_WARNING (CWE-457): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c:860:21: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘madr’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.h:163:23: note: in definition of macro ‘is_ctype’ # 858| if(eppic_defbsize()==4) { # 859| # 860|-> eppic_getmem(madr, &v->v.ul, 4); # 861| new_madr=v->v.ul; # 862| Error: GCC_ANALYZER_WARNING (CWE-457): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c:865:21: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘madr’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.h:163:23: note: in definition of macro ‘is_ctype’ # 863| } else { # 864| # 865|-> eppic_getmem(madr, &v->v.ull, 8); # 866| new_madr=v->v.ull; # 867| } Error: GCC_ANALYZER_WARNING (CWE-457): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c:871:19: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘madr’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.h:163:23: note: in definition of macro ‘is_ctype’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.h:163:23: note: in definition of macro ‘is_ctype’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c:841:28: note: in expansion of macro ‘TYPE_SIZE’ # 869| # 870| /* remember this address. For the '&' operator */ # 871|-> v->mem=madr; # 872| madr=new_madr; # 873| } Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_op.c:872:17: warning[core.uninitialized.Assign]: Assigned value is garbage or undefined # 870| /* remember this address. For the '&' operator */ # 871| v->mem=madr; # 872|-> madr=new_madr; # 873| } # 874| } Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_print.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_print.c:76:9: warning[core.NullDereference]: Access to field 'all' results in a dereference of a null pointer (loaded from variable 'st') # 74| if(!st) eppic_error("Oops eppic_print_ctype!"); # 75| # 76|-> if(!st->all) { # 77| # 78| eppic_fillst(st); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_print.c:249:21: warning[deadcode.DeadStores]: Value stored to 'pos' is never read # 247| pos += snprintf(buf+pos, len-pos, "%s", eppic_getidx(t, buf2, sizeof(buf2))); # 248| if(pos < len && t->fct) # 249|-> pos += snprintf(buf+pos, len-pos, "%s", ")()"); # 250| # 251| eppic_msg("%*s ", NAMESPACE, buf); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_stat.c:438:25: warning[core.NullDereference]: Access to field 'data' results in a dereference of a null pointer (loaded from variable 'list') # 436| if(s && !list) return s; # 437| else { # 438|-> stat *sp=(stat*)(list->data); # 439| # 440| while(sp->next) sp=sp->next; Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_type.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_type.c:82:8: warning[core.NullDereference]: Access to field 'idxlst' results in a dereference of a null pointer (loaded from variable 't') # 80| eppic_freetype(type_t* t) # 81| { # 82|-> if(t->idxlst) eppic_free(t->idxlst); # 83| eppic_free(t); # 84| } Error: GCC_ANALYZER_WARNING (CWE-476): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_type.c: scope_hint: In function ‘eppic_freetype’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_type.c:82:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘t’ # 80| eppic_freetype(type_t* t) # 81| { # 82|-> if(t->idxlst) eppic_free(t->idxlst); # 83| eppic_free(t); # 84| } Error: GCC_ANALYZER_WARNING (CWE-688): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_type.c: scope_hint: In function ‘eppic_duptype’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_type.c:204:5: warning[-Wanalyzer-null-argument]: use of NULL ‘ts’ where non-null expected <built-in>: note: argument 2 of ‘__builtin_memmove’ must be non-null # 202| if(t == ts) return; # 203| # 204|-> memmove(t, ts, sizeof(type_t)); # 205| if(ts->idxlst) { # 206| Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_type.c:204:5: warning[core.NonNullParamChecker]: Null pointer passed to 2nd parameter expecting 'nonnull' # 202| if(t == ts) return; # 203| # 204|-> memmove(t, ts, sizeof(type_t)); # 205| if(ts->idxlst) { # 206| Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_type.c:294:9: warning[deadcode.DeadStores]: Value stored to 'vnbits' during its initialization is never read # 292| ull mask; # 293| int dosign=0; # 294|-> int vnbits=size*8; # 295| # 296| /* first get the value_t */ Error: GCC_ANALYZER_WARNING (CWE-688): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_type.c: scope_hint: In function ‘eppic_parsetype’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_type.c:820:9: warning[-Wanalyzer-null-argument]: use of NULL ‘tok’ where non-null expected kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_type.c:17: included_from: Included from here. /usr/include/string.h:156:12: note: argument 1 of ‘strcmp’ must be non-null # 818| again: # 819| tok=strtok(p," "); # 820|-> if(!strcmp(tok, "struct")) { # 821| # 822| ctype=V_STRUCT; Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_util.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: COMPILER_WARNING (CWE-476): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_util.c: scope_hint: In function ‘eppic_ptr’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_util.c:557:29: warning[-Wnonnull]: argument 2 null where non-null expected # 557 | strcpy(onefmt, ptrto(addit[i])); # | ^~~~~~ /usr/include/features.h:511: included_from: Included from here. /usr/include/bits/libc-header-start.h:33: included_from: Included from here. /usr/include/stdint.h:26: included_from: Included from here. /usr/lib/gcc/x86_64-redhat-linux/14/include/stdint.h:9: included_from: Included from here. kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_api.h:65: included_from: Included from here. kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic.h:15: included_from: Included from here. kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_util.c:15: included_from: Included from here. /usr/include/bits/string_fortified.h:77:1: note: in a call to function ‘strcpy’ declared ‘nonnull’ # 77 | __NTH (strcpy (__fortify_clang_overload_arg (char *, __restrict, __dest), # | ^~~~~ # 555| def: # 556| if(ptrto(addit[i])) { # 557|-> strcpy(onefmt, ptrto(addit[i])); # 558| onefmt+=matchlen(addit[i]); # 559| } Error: COMPILER_WARNING (CWE-697): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_util.c:567:38: warning[-Waddress]: the comparison will always evaluate as ‘true’ for the pointer operand in ‘pi + (sizetype)matches[5].rm_so’ must not be NULL # 567 | if(ptrto(M_FLAGS)||ptrto(M_WIDTH)||ptrto(M_WIDTHARG)||ptrto(M_PREC)||ptrto(M_PRECARG)||ptrto(M_SIZE)) { # | ^~ # 565| ref: # 566| /* if user overrides anything don't do nothing */ # 567|-> if(ptrto(M_FLAGS)||ptrto(M_WIDTH)||ptrto(M_WIDTHARG)||ptrto(M_PREC)||ptrto(M_PRECARG)||ptrto(M_SIZE)) { # 568| *onefmt++='p'; # 569| Error: COMPILER_WARNING (CWE-697): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_util.c:567:54: warning[-Waddress]: the comparison will always evaluate as ‘true’ for the pointer operand in ‘pi + (sizetype)matches[3].rm_so’ must not be NULL # 567 | if(ptrto(M_FLAGS)||ptrto(M_WIDTH)||ptrto(M_WIDTHARG)||ptrto(M_PREC)||ptrto(M_PRECARG)||ptrto(M_SIZE)) { # | ^~ # 565| ref: # 566| /* if user overrides anything don't do nothing */ # 567|-> if(ptrto(M_FLAGS)||ptrto(M_WIDTH)||ptrto(M_WIDTHARG)||ptrto(M_PREC)||ptrto(M_PRECARG)||ptrto(M_SIZE)) { # 568| *onefmt++='p'; # 569| Error: COMPILER_WARNING (CWE-697): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_util.c:567:73: warning[-Waddress]: the comparison will always evaluate as ‘true’ for the pointer operand in ‘pi + (sizetype)matches[10].rm_so’ must not be NULL # 567 | if(ptrto(M_FLAGS)||ptrto(M_WIDTH)||ptrto(M_WIDTHARG)||ptrto(M_PREC)||ptrto(M_PRECARG)||ptrto(M_SIZE)) { # | ^~ # 565| ref: # 566| /* if user overrides anything don't do nothing */ # 567|-> if(ptrto(M_FLAGS)||ptrto(M_WIDTH)||ptrto(M_WIDTHARG)||ptrto(M_PREC)||ptrto(M_PRECARG)||ptrto(M_SIZE)) { # 568| *onefmt++='p'; # 569| Error: COMPILER_WARNING (CWE-697): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_util.c:567:88: warning[-Waddress]: the comparison will always evaluate as ‘true’ for the pointer operand in ‘pi + (sizetype)matches[8].rm_so’ must not be NULL # 567 | if(ptrto(M_FLAGS)||ptrto(M_WIDTH)||ptrto(M_WIDTHARG)||ptrto(M_PREC)||ptrto(M_PRECARG)||ptrto(M_SIZE)) { # | ^~ # 565| ref: # 566| /* if user overrides anything don't do nothing */ # 567|-> if(ptrto(M_FLAGS)||ptrto(M_WIDTH)||ptrto(M_WIDTHARG)||ptrto(M_PREC)||ptrto(M_PRECARG)||ptrto(M_SIZE)) { # 568| *onefmt++='p'; # 569| Error: COMPILER_WARNING (CWE-697): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_util.c:567:106: warning[-Waddress]: the comparison will always evaluate as ‘true’ for the pointer operand in ‘pi + (sizetype)matches[11].rm_so’ must not be NULL # 567 | if(ptrto(M_FLAGS)||ptrto(M_WIDTH)||ptrto(M_WIDTHARG)||ptrto(M_PREC)||ptrto(M_PRECARG)||ptrto(M_SIZE)) { # | ^~ # 565| ref: # 566| /* if user overrides anything don't do nothing */ # 567|-> if(ptrto(M_FLAGS)||ptrto(M_WIDTH)||ptrto(M_WIDTHARG)||ptrto(M_PREC)||ptrto(M_PRECARG)||ptrto(M_SIZE)) { # 568| *onefmt++='p'; # 569| Error: COMPILER_WARNING (CWE-697): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_util.c:609:32: warning[-Waddress]: the comparison will always evaluate as ‘true’ for the pointer operand in ‘pi + (sizetype)matches[11].rm_so’ must not be NULL # 609 | if(!ptrto(M_SIZE)) { # | ^ # 607| case V_BASE: case V_ENUM: # 608| { # 609|-> if(!ptrto(M_SIZE)) { # 610| # 611| if(vals[posarg]->type.size==8) { Error: COMPILER_WARNING (CWE-563): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_util.c: scope_hint: In function ‘eppic_setclass’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_util.c:799:7: warning[-Wunused-variable]: unused variable ‘j’ # 799 | int i,j; # | ^ # 797| void eppic_setclass(char *cl) # 798| { # 799|-> int i,j; # 800| # 801| clist=0; Error: CPPCHECK_WARNING (CWE-476): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_util.c:814: warning[nullPointer]: Possible null pointer dereference: name # 812| eppic_dbg_all(int class, char *name, int lvl, char *fmt, va_list ap) # 813| { # 814|-> if(lvl<=dbglvl && (clist & class) && (!dbg_name || !strcmp(name, dbg_name))) { # 815| printf("dbg(%d) : ", lvl); # 816| vprintf(fmt, ap); Error: GCC_ANALYZER_WARNING (CWE-688): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_util.c: scope_hint: In function ‘eppic_dbg_all’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_util.c:814:57: warning[-Wanalyzer-null-argument]: use of NULL ‘name’ where non-null expected kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_util.c:16: included_from: Included from here. /usr/include/string.h:156:12: note: argument 1 of ‘strcmp’ must be non-null # 812| eppic_dbg_all(int class, char *name, int lvl, char *fmt, va_list ap) # 813| { # 814|-> if(lvl<=dbglvl && (clist & class) && (!dbg_name || !strcmp(name, dbg_name))) { # 815| printf("dbg(%d) : ", lvl); # 816| vprintf(fmt, ap); Error: COMPILER_WARNING (CWE-476): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_util.c:814:57: warning[-Wnonnull]: argument 1 null where non-null expected # 814 | if(lvl<=dbglvl && (clist & class) && (!dbg_name || !strcmp(name, dbg_name))) { # | ^~~~~~~~~~~~~~~~~~~~~~ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_util.c:16: included_from: Included from here. /usr/include/string.h: scope_hint: In function ‘eppic_dbg’ /usr/include/string.h:156:12: note: in a call to function ‘strcmp’ declared ‘nonnull’ # 156 | extern int strcmp (const char *__s1, const char *__s2) # | ^~~~~~ # 812| eppic_dbg_all(int class, char *name, int lvl, char *fmt, va_list ap) # 813| { # 814|-> if(lvl<=dbglvl && (clist & class) && (!dbg_name || !strcmp(name, dbg_name))) { # 815| printf("dbg(%d) : ", lvl); # 816| vprintf(fmt, ap); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_util.c:814:57: warning[core.NonNullParamChecker]: Null pointer passed to 1st parameter expecting 'nonnull' # 812| eppic_dbg_all(int class, char *name, int lvl, char *fmt, va_list ap) # 813| { # 814|-> if(lvl<=dbglvl && (clist & class) && (!dbg_name || !strcmp(name, dbg_name))) { # 815| printf("dbg(%d) : ", lvl); # 816| vprintf(fmt, ap); Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_var.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: COMPILER_WARNING (CWE-1164): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_var.c: scope_hint: In function ‘eppic_vardecl’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_var.c:216:1: warning[-Wunused-label]: label ‘next’ defined but not used # 216 | next: # | ^~~~ # 214| } # 215| eppic_enqueue(vlist, var); # 216|-> next: # 217| dv=dv->next; # 218| } Error: COMPILER_WARNING (CWE-563): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_var.c: scope_hint: In function ‘eppic_getvarbyname’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_var.c:644:11: warning[-Wunused-variable]: unused variable ‘mem’ # 644 | ull apiv, mem; # | ^~~ # 642| var_t*vp; # 643| int i, aidx=0; # 644|-> ull apiv, mem; # 645| # 646| for(i=svlev-1; i>=0; i--) { Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_var.c:764:15: warning[deadcode.DeadStores]: Value stored to 'v2' during its initialization is never read # 762| for(v=vl->next; v!=vl; v=v->next) { # 763| # 764|-> var_t*v2=v->next; # 765| # 766| for(v2=v->next; v2!=vl; v2=v2->next) { Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppic_var.c:1240:9: warning[core.NullDereference]: Access to field 'ini' results in a dereference of a null pointer (loaded from variable 'curv') # 1238| # 1239| } # 1240|-> if(!curv->ini && !insizeof && !vlev) { # 1241| # 1242| eppic_error("Variable [%s] used before being initialized", curv->name); Error: GCC_ANALYZER_WARNING (CWE-401): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c: scope_hint: In function ‘eppicppparse’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:417:21: warning[-Wanalyzer-malloc-leak]: leak of ‘yyptr’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:109:40: note: in definition of macro ‘YY_CAST’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:403:25: note: in expansion of macro ‘YYMALLOC’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:1056:20: note: in expansion of macro ‘YYSTACK_ALLOC’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:778:7: note: in expansion of macro ‘yydebug’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:1104:7: note: in expansion of macro ‘YYDPRINTF’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:1126:17: note: in expansion of macro ‘YYTRANSLATE’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:787:7: note: in expansion of macro ‘yydebug’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:1150:3: note: in expansion of macro ‘YY_SYMBOL_PRINT’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:109:40: note: in definition of macro ‘YY_CAST’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:403:25: note: in expansion of macro ‘YYMALLOC’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:1056:20: note: in expansion of macro ‘YYSTACK_ALLOC’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:462:9: note: in expansion of macro ‘YYCOPY’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:1059:9: note: in expansion of macro ‘YYSTACK_RELOCATE’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:778:7: note: in expansion of macro ‘yydebug’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:1104:7: note: in expansion of macro ‘YYDPRINTF’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:787:7: note: in expansion of macro ‘yydebug’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:1150:3: note: in expansion of macro ‘YY_SYMBOL_PRINT’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:1015:3: note: in expansion of macro ‘YY_STACK_PRINT’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:109:40: note: in definition of macro ‘YY_CAST’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:403:25: note: in expansion of macro ‘YYMALLOC’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:1056:20: note: in expansion of macro ‘YYSTACK_ALLOC’ # 415| # endif # 416| # ifndef YYMALLOC # 417|-> # define YYMALLOC malloc # 418| # if ! defined malloc && ! defined EXIT_SUCCESS # 419| void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ Error: GCC_ANALYZER_WARNING (CWE-457): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:477:7: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘yyss’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:462:9: note: in expansion of macro ‘YYCOPY’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:1059:9: note: in expansion of macro ‘YYSTACK_RELOCATE’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:462:9: note: in expansion of macro ‘YYCOPY’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:1059:9: note: in expansion of macro ‘YYSTACK_RELOCATE’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:462:9: note: in expansion of macro ‘YYCOPY’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:1059:9: note: in expansion of macro ‘YYSTACK_RELOCATE’ # 475| # if defined __GNUC__ && 1 < __GNUC__ # 476| # define YYCOPY(Dst, Src, Count) \ # 477|-> __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src))) # 478| # else # 479| # define YYCOPY(Dst, Src, Count) \ Error: COMPILER_WARNING (CWE-704): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.h:103:16: warning[-Wlto-type-mismatch]: type of ‘eppicpplval’ does not match original declaration # 103 | extern YYSTYPE eppicpplval; # | ^ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:939:9: note: ‘eppicpplval’ was previously declared here # 939 | YYSTYPE yylval; # | ^ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.tab.c:939:9: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used # 101| # 102| # 103|-> extern YYSTYPE eppicpplval; # 104| # 105| Error: COMPILER_WARNING (CWE-563): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.y: scope_hint: In function ‘eppicppparse’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/eppicpp.y:64:102: warning[-Wunused-value]: statement with no effect # 64 | | '(' term ')' { $$ = $2; last_term == $$; } # | ^ # 62| | term P_LT term { $$ = eppic_newop(LT, 2, $1, $3); last_term = $$; } # 63| | term P_NE term { $$ = eppic_newop(NE, 2, $1, $3); last_term = $$; } # 64|-> | '(' term ')' { $$ = $2; last_term == $$; } # 65| | term P_OR term { $$ = eppic_newop(OR, 2, $1, $3); last_term = $$; } # 66| | term P_XOR term { $$ = eppic_newop(XOR, 2, $1, $3); last_term = $$; } Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-401): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c: scope_hint: In function ‘yy_get_next_buffer’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2085:46: warning[-Wanalyzer-malloc-leak]: leak of ‘*b.yy_ch_buf’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2071:45: note: in expansion of macro ‘YY_CURRENT_BUFFER_LVALUE’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2087:41: note: in expansion of macro ‘yyrealloc’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2862:7: note: in expansion of macro ‘yyrealloc’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2087:41: note: in expansion of macro ‘yyrealloc’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2071:45: note: in expansion of macro ‘YY_CURRENT_BUFFER_LVALUE’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2087:41: note: in expansion of macro ‘yyrealloc’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2862:7: note: in expansion of macro ‘yyrealloc’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2087:41: note: in expansion of macro ‘yyrealloc’ # 2083| b->yy_buf_size *= 2; # 2084| # 2085|-> b->yy_ch_buf = (char *) # 2086| /* Include room in for 2 EOB chars. */ # 2087| yyrealloc( (void *) b->yy_ch_buf, Error: COMPILER_WARNING (CWE-1164): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2256:16: warning[-Wunused-function]: ‘input’ defined but not used # 2256 | static int input (void) # | ^~~~~ # 2254| static int yyinput (void) # 2255| #else # 2256|-> static int input (void) # 2257| #endif # 2258| Error: GCC_ANALYZER_WARNING (CWE-401): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c: scope_hint: In function ‘eppic_create_buffer’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2407:12: warning[-Wanalyzer-malloc-leak]: leak of ‘eppicalloc(64)’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2393:21: note: in expansion of macro ‘yy_create_buffer’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2397:31: note: in expansion of macro ‘yyalloc’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2857:7: note: in expansion of macro ‘yyalloc’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2397:31: note: in expansion of macro ‘yyalloc’ # 2405| */ # 2406| b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) ); # 2407|-> if ( ! b->yy_ch_buf ) # 2408| YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); # 2409| Error: CPPCHECK_WARNING (CWE-476): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2447: warning[nullPointer]: Possible null pointer dereference: b # 2445| yy_flush_buffer( b ); # 2446| # 2447|-> b->yy_input_file = file; # 2448| b->yy_fill_buffer = 1; # 2449| Error: CPPCHECK_WARNING (CWE-476): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2448: warning[nullPointer]: Possible null pointer dereference: b # 2446| # 2447| b->yy_input_file = file; # 2448|-> b->yy_fill_buffer = 1; # 2449| # 2450| /* If b is the current buffer, then yy_init_buffer was _probably_ Error: GCC_ANALYZER_WARNING (CWE-401): kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c: scope_hint: In function ‘eppic_scan_buffer’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2661:32: warning[-Wanalyzer-malloc-leak]: leak of ‘eppicalloc(n)’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2645:17: note: in expansion of macro ‘yy_scan_bytes’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2654:24: note: in expansion of macro ‘yyalloc’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2857:7: note: in expansion of macro ‘yyalloc’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2654:24: note: in expansion of macro ‘yyalloc’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2663:13: note: in expansion of macro ‘yy_scan_buffer’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppic.c:2595:17: note: in expansion of macro ‘yy_scan_buffer’ # 2659| buf[i] = yybytes[i]; # 2660| # 2661|-> buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; # 2662| # 2663| b = yy_scan_buffer( buf, n ); Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/lex.eppicpp.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/eppic-e8844d3793471163ae4a56d8f95897be9e5bd554/libeppic/mkbaseop.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/crashdump-x86.c:735:25: warning[core.UndefinedBinaryOperatorResult]: The left operand of '+' is a garbage value # 733| } # 734| # 735|-> *addr = x86__pa(vaddr + (cpu * MAX_NOTE_BYTES)); # 736| *len = MAX_NOTE_BYTES; # 737| Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/crashdump-x86.c:869:2: warning[core.CallAndMessage]: 2nd function call argument is an uninitialized value # 867| return -1; # 868| # 869|-> get_backup_area(info, mem_range, nr_ranges); # 870| # 871| dbgprint_mem_range("CRASH MEMORY RANGES", mem_range, nr_ranges); Error: GCC_ANALYZER_WARNING (CWE-457): kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/crashdump-x86.c: scope_hint: In function ‘load_crashdump_segments’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/crashdump-x86.c:869:9: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘mem_range’ # 867| return -1; # 868| # 869|-> get_backup_area(info, mem_range, nr_ranges); # 870| # 871| dbgprint_mem_range("CRASH MEMORY RANGES", mem_range, nr_ranges); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/kexec-bzImage.c:447:2: warning[deadcode.DeadStores]: Value stored to 'command_line_len' is never read # 445| free(tmp_cmdline); # 446| } # 447|-> command_line_len = 0; # 448| if (command_line) { # 449| command_line_len = strlen(command_line) +1; Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/kexec-elf-x86.c:192:2: warning[deadcode.DeadStores]: Value stored to 'command_line_len' is never read # 190| free(tmp_cmdline); # 191| } # 192|-> command_line_len = 0; # 193| if (command_line) { # 194| command_line_len = strlen(command_line) +1; Error: GCC_ANALYZER_WARNING (CWE-126): kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/kexec-elf-x86.c: scope_hint: In function ‘elf_x86_load’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/kexec-elf-x86.c:207:25: warning[-Wanalyzer-out-of-bounds]: heap-based buffer over-read kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/kexec-elf-x86.c:207:25: note: read of 2047 bytes from after the end of the region # └──────────────────────────────────────────────────────────────────────┘ # ^ ^ # 205| memset((void *)modified_cmdline, 0, COMMAND_LINE_SIZE); # 206| if (command_line) { # 207|-> strncpy(modified_cmdline, command_line, # 208| COMMAND_LINE_SIZE); # 209| modified_cmdline[COMMAND_LINE_SIZE - 1] = '\0'; Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/kexec-elf-x86.c:300:23: warning[core.NonNullParamChecker]: Null pointer passed to 1st parameter expecting 'nonnull' # 298| free(command_line); # 299| command_line = modified_cmdline; # 300|-> command_line_len = strlen(modified_cmdline) + 1; # 301| modified_cmdline = NULL; # 302| } Error: GCC_ANALYZER_WARNING (CWE-688): kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/kexec-elf-x86.c:300:44: warning[-Wanalyzer-null-argument]: use of NULL ‘modified_cmdline’ where non-null expected <built-in>: note: argument 1 of ‘__builtin_strlen’ must be non-null # 298| free(command_line); # 299| command_line = modified_cmdline; # 300|-> command_line_len = strlen(modified_cmdline) + 1; # 301| modified_cmdline = NULL; # 302| } Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/kexec-mb2-x86.c:451:2: warning[deadcode.DeadStores]: Value stored to 'command_line_len' is never read # 449| # 450| /* Parse the command line */ # 451|-> command_line_len = 0; # 452| modules = 0; # 453| mod_command_line_space = 0; Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/kexec-mb2-x86.c:466:4: warning[deadcode.DeadStores]: Value stored to 'tmp_cmdline' is never read # 464| break; # 465| case OPT_REUSE_CMDLINE: # 466|-> tmp_cmdline = get_command_line(); # 467| break; # 468| case OPT_MOD: Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/kexec-mb2-x86.c:601:2: warning[deadcode.DeadStores]: Value stored to 'mbi_ptr' is never read # 599| } # 600| # 601|-> mbi_ptr = multiboot2_mbi_end(mbi_buf, mbi_ptr); # 602| # 603| if (sort_segments(info) < 0) Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/kexec-multiboot-x86.c:261:2: warning[deadcode.DeadStores]: Value stored to 'command_line_len' is never read # 259| # 260| /* Parse the command line */ # 261|-> command_line_len = 0; # 262| modules = 0; # 263| mod_command_line_space = 0; Error: COMPILER_WARNING (CWE-252): kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/kexec-x86-common.c: scope_hint: In function ‘efi_map_added’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/kexec-x86-common.c:320:17: warning[-Wunused-result]: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ # 320 | fgets( buf, 512, fp ); # | ^~~~~~~~~~~~~~~~~~~~~ # 318| FILE *fp = fopen( "/proc/cmdline", "r" ); # 319| if( fp ) { # 320|-> fgets( buf, 512, fp ); # 321| fclose( fp ); # 322| return strstr( buf, "add_efi_memmap" ) != NULL; Error: COMPILER_WARNING (CWE-252): kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/x86-linux-setup.c: scope_hint: In function ‘get_bootparam’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/x86-linux-setup.c:510:9: warning[-Wunused-result]: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ # 510 | read(data_file, buf, size); # | ^~~~~~~~~~~~~~~~~~~~~~~~~~ # 508| if (lseek(data_file, offset, SEEK_SET) < 0) # 509| goto close; # 510|-> read(data_file, buf, size); # 511| close: # 512| close(data_file); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/x86-linux-setup.c:632:6: warning[core.uninitialized.Branch]: Branch condition evaluates to a garbage value # 630| return nr_maps; # 631| err_out: # 632|-> if (*map) # 633| free(*map); # 634| closedir(dirp); Error: GCC_ANALYZER_WARNING (CWE-457): kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/x86-linux-setup.c: scope_hint: In function ‘get_efi_runtime_map’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/x86-linux-setup.c:632:13: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*map’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/x86-linux-setup.c: scope_hint: In function ‘get_efi_runtime_map’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/x86-linux-setup.c: scope_hint: In function ‘get_efi_runtime_map’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/x86-linux-setup.c: scope_hint: In function ‘get_efi_runtime_map’ # 630| return nr_maps; # 631| err_out: # 632|-> if (*map) # 633| free(*map); # 634| closedir(dirp); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/x86-linux-setup.c:714:7: warning[unix.Malloc]: Potential leak of memory pointed to by 'sd' # 712| add_setup_data(info, real_mode, sd); # 713| # 714|-> size = nr_maps * sizeof(struct efi_mem_descriptor); # 715| memmap_paddr = add_buffer(info, maps, size, size, getpagesize(), # 716| 0x100000, ULONG_MAX, INT_MAX); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/x86-linux-setup.c:715:15: warning[unix.Malloc]: Potential leak of memory pointed to by 'maps' # 713| # 714| size = nr_maps * sizeof(struct efi_mem_descriptor); # 715|-> memmap_paddr = add_buffer(info, maps, size, size, getpagesize(), # 716| 0x100000, ULONG_MAX, INT_MAX); # 717| ei->efi_memmap = memmap_paddr & 0xffffffff; Error: GCC_ANALYZER_WARNING (CWE-401): kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/x86-linux-setup.c: scope_hint: In function ‘setup_efi_data’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/x86-linux-setup.c:722:16: warning[-Wanalyzer-malloc-leak]: leak of ‘maps’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/x86-linux-setup.c: scope_hint: In function ‘setup_efi_data’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/x86-linux-setup.c: scope_hint: In function ‘setup_efi_data’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/x86-linux-setup.c: scope_hint: In function ‘setup_efi_data’ # 720| ei->efi_memdesc_size = sizeof(struct efi_mem_descriptor); # 721| # 722|-> return 0; # 723| free_maps: # 724| free(maps); Error: GCC_ANALYZER_WARNING (CWE-401): kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/x86-linux-setup.c:722:16: warning[-Wanalyzer-malloc-leak]: leak of ‘sd’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/x86-linux-setup.c: scope_hint: In function ‘setup_efi_data’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/x86-linux-setup.c: scope_hint: In function ‘setup_efi_data’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/i386/x86-linux-setup.c: scope_hint: In function ‘setup_efi_data’ # 720| ei->efi_memdesc_size = sizeof(struct efi_mem_descriptor); # 721| # 722|-> return 0; # 723| free_maps: # 724| free(maps); Error: GCC_ANALYZER_WARNING (CWE-126): kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/x86_64/kexec-bzImage64.c: scope_hint: In function ‘do_bzImage64_load’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/x86_64/kexec-bzImage64.c:153:25: warning[-Wanalyzer-out-of-bounds]: heap-based buffer over-read kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/x86_64/kexec-bzImage64.c:153:25: note: read of 2047 bytes from after the end of the region # └──────────────────────────────────────────────────────────────────────┘ # ^ ^ # 151| memset((void *)modified_cmdline, 0, COMMAND_LINE_SIZE); # 152| if (command_line) { # 153|-> strncpy(modified_cmdline, command_line, # 154| COMMAND_LINE_SIZE); # 155| modified_cmdline[COMMAND_LINE_SIZE - 1] = '\0'; Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/x86_64/kexec-bzImage64.c:287:2: warning[deadcode.DeadStores]: Value stored to 'command_line_len' is never read # 285| if (tmp_cmdline) # 286| free(tmp_cmdline); # 287|-> command_line_len = 0; # 288| if (command_line) { # 289| command_line_len = strlen(command_line) + 1; Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/x86_64/kexec-bzImage64.c:375:2: warning[deadcode.DeadStores]: Value stored to 'command_line_len' is never read # 373| if (tmp_cmdline) # 374| free(tmp_cmdline); # 375|-> command_line_len = 0; # 376| if (command_line) { # 377| command_line_len = strlen(command_line) + 1; Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/x86_64/kexec-elf-x86_64.c:226:23: warning[core.NonNullParamChecker]: Null pointer passed to 1st parameter expecting 'nonnull' # 224| free(command_line); # 225| command_line = modified_cmdline; # 226|-> command_line_len = strlen(modified_cmdline) + 1; # 227| modified_cmdline = NULL; # 228| } Error: GCC_ANALYZER_WARNING (CWE-688): kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/x86_64/kexec-elf-x86_64.c: scope_hint: In function ‘elf_x86_64_load’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/arch/x86_64/kexec-elf-x86_64.c:226:44: warning[-Wanalyzer-null-argument]: use of NULL ‘modified_cmdline’ where non-null expected <built-in>: note: argument 1 of ‘__builtin_strlen’ must be non-null # 224| free(command_line); # 225| command_line = modified_cmdline; # 226|-> command_line_len = strlen(modified_cmdline) + 1; # 227| modified_cmdline = NULL; # 228| } Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/ifdown.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec-elf-rel.c:543:18: warning[core.UndefinedBinaryOperatorResult]: The left operand of '!=' is a garbage value # 541| die("Symbol: %s not found cannot get\n", name); # 542| } # 543|-> if (sym.st_size != size) { # 544| die("Symbol: %s has size: %lld not %zd\n", # 545| name, sym.st_size, size); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec-elf.c:379:2: warning[deadcode.DeadStores]: Value stored to 'phdr_size' is never read # 377| */ # 378| /* Is the program header in the file buffer? */ # 379|-> phdr_size = 0; # 380| if (ehdr->ei_class == ELFCLASS32) { # 381| phdr_size = sizeof(Elf32_Phdr); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec-elf.c:482:2: warning[deadcode.DeadStores]: Value stored to 'size_ok' is never read # 480| # 481| /* Now verify sh_entsize */ # 482|-> size_ok = 0; # 483| switch(shdr->sh_type) { # 484| case SHT_SYMTAB: Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec-elf.c:551:2: warning[deadcode.DeadStores]: Value stored to 'size_ok' is never read # 549| # 550| /* Now verify sh_entsize */ # 551|-> size_ok = 0; # 552| switch(shdr->sh_type) { # 553| case SHT_SYMTAB: Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec-elf.c:596:2: warning[deadcode.DeadStores]: Value stored to 'shdr_size' is never read # 594| */ # 595| /* Is the program header in the file buffer? */ # 596|-> shdr_size = 0; # 597| if (ehdr->ei_class == ELFCLASS32) { # 598| shdr_size = sizeof(Elf32_Shdr); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec-iomem.c:52:8: warning[core.NonNullParamChecker]: Null pointer passed to 3rd parameter expecting 'nonnull' # 50| die("Cannot open %s\n", iomem); # 51| # 52|-> while(fgets(line, sizeof(line), fp) != 0) { # 53| count = sscanf(line, "%llx-%llx : %n", &start, &end, &consumed); # 54| if (count != 2) Error: GCC_ANALYZER_WARNING (CWE-688): kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec-iomem.c: scope_hint: In function ‘kexec_iomem_for_each_line’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec-iomem.c:52:15: warning[-Wanalyzer-null-argument]: use of NULL ‘fopen(proc_iomem(), "r")’ where non-null expected kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec-iomem.c:2: included_from: Included from here. /usr/include/stdio.h:654:14: note: argument 3 of ‘fgets’ must be non-null # 50| die("Cannot open %s\n", iomem); # 51| # 52|-> while(fgets(line, sizeof(line), fp) != 0) { # 53| count = sscanf(line, "%llx-%llx : %n", &start, &end, &consumed); # 54| if (count != 2) Error: GCC_ANALYZER_WARNING (CWE-401): kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec.c: scope_hint: In function ‘slurp_fd’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec.c:507:56: warning[-Wanalyzer-malloc-leak]: leak of ‘xmalloc((long unsigned int)size)’ # 505| progress = 0; # 506| while (progress < size) { # 507|-> result = read(fd, buf + progress, size - progress); # 508| if (result < 0) { # 509| if ((errno == EINTR) || (errno == EAGAIN)) Error: GCC_ANALYZER_WARNING (CWE-401): kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec.c:523:12: warning[-Wanalyzer-malloc-leak]: leak of ‘xmalloc((long unsigned int)size)’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec.c: scope_hint: In function ‘slurp_fd’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec.c:33: included_from: Included from here. # 521| } # 522| result = close(fd); # 523|-> if (result < 0) # 524| die("Close of %s failed: %s\n", filename, strerror(errno)); # 525| Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec.c:590:12: warning[core.UndefinedBinaryOperatorResult]: The left operand of '!=' is a garbage value # 588| die("Cannot read %s", filename); # 589| # 590|-> if (nread != size) # 591| die("Read on %s ended before stat said it should\n", filename); # 592| Error: GCC_ANALYZER_WARNING (CWE-1341): kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec.c: scope_hint: In function ‘slurp_file_generic’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec.c:594:9: warning[-Wanalyzer-fd-double-close]: double ‘close’ of file descriptor ‘open(filename, 0)’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec.c: scope_hint: In function ‘slurp_file_generic’ # 592| # 593| *r_size = size; # 594|-> close(fd); # 595| return buf; # 596| } Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec.c:752:2: warning[deadcode.DeadStores]: Value stored to 'result' is never read # 750| info.skip_checks = skip_checks; # 751| # 752|-> result = 0; # 753| if (argc - fileind <= 0) { # 754| fprintf(stderr, "No kernel specified\n"); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec.c:835:4: warning[unix.Malloc]: Potential leak of memory pointed to by 'info.segment' # 833| for (i = 0; i < info.nr_segments; i++) { # 834| if (!valid_memory_segment(&info, info.segment +i)) { # 835|-> fprintf(stderr, "Invalid memory segment %p - %p\n", # 836| info.segment[i].mem, # 837| ((char *)info.segment[i].mem) + Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec.c:1235:11: warning[core.UndefinedBinaryOperatorResult]: The left operand of '-' is a garbage value # 1233| # 1234| /* strip newline */ # 1235|-> line[size-1] = '\0'; # 1236| # 1237| p = strpbrk(line, "\r\n"); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec.c:1235:15: warning[core.NullDereference]: Array access (from variable 'line') results in a null pointer dereference # 1233| # 1234| /* strip newline */ # 1235|-> line[size-1] = '\0'; # 1236| # 1237| p = strpbrk(line, "\r\n"); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec.c:1620:3: warning[deadcode.DeadStores]: Value stored to 'do_load' is never read # 1618| if (kexec_flags == 0 && !has_opt_load) # 1619| kexec_flags = KEXEC_ON_CRASH; # 1620|-> do_load = 0; # 1621| do_reuse_initrd = 0; # 1622| do_unload = 0; Error: GCC_ANALYZER_WARNING (CWE-127): kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec.c: scope_hint: In function ‘main’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec.c:1660:32: warning[-Wanalyzer-out-of-bounds]: heap-based buffer under-read # └───────────────────────┘ # ^ # 1658| buf = slurp_file_len(ces, sizeof(buf)-1, &nread); # 1659| if (buf) { # 1660|-> if (buf[nread-1] == '\n') # 1661| buf[nread-1] = '\0'; # 1662| elfcorehdrsz = strtoul(buf, &endptr, 0); Error: GCC_ANALYZER_WARNING (CWE-124): kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec.c:1661:46: warning[-Wanalyzer-out-of-bounds]: heap-based buffer underwrite # 1659| if (buf) { # 1660| if (buf[nread-1] == '\n') # 1661|-> buf[nread-1] = '\0'; # 1662| elfcorehdrsz = strtoul(buf, &endptr, 0); # 1663| } Error: GCC_ANALYZER_WARNING (CWE-401): kexec-tools-2.0.28-build/kexec-tools-2.0.28/kexec/kexec.c:1662:38: warning[-Wanalyzer-malloc-leak]: leak of ‘slurp_file_len("/sys/kernel/crash_elfcorehdr_size", 7, &nread)’ # 1660| if (buf[nread-1] == '\n') # 1661| buf[nread-1] = '\0'; # 1662|-> elfcorehdrsz = strtoul(buf, &endptr, 0); # 1663| } # 1664| if (!elfcorehdrsz || (endptr && *endptr != '\0')) Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/arch/x86_64.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-674): kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/arch/x86_64.c: scope_hint: In function ‘kvtop_xen_x86_64’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/arch/x86_64.c:495:21: warning[-Wanalyzer-infinite-recursion]: infinite recursion kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/arch/x86_64.c:20: included_from: Included from here. kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.h:2421:17: note: in expansion of macro ‘XEN_VIRT_START’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/arch/x86_64.c:489:13: note: in expansion of macro ‘is_xen_text’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.h:2421:17: note: in expansion of macro ‘XEN_VIRT_START’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/arch/x86_64.c:489:13: note: in expansion of macro ‘is_xen_text’ # 493| return (unsigned long)kvaddr - DIRECTMAP_VIRT_START; # 494| # 495|-> if ((dirp = kvtop_xen_x86_64(SYMBOL(pgd_l4))) == NOT_PADDR) # 496| return NOT_PADDR; # 497| Error: GCC_ANALYZER_WARNING (CWE-476): kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/arch/x86_64.c: scope_hint: In function ‘find_vmemmap_x86_64’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/arch/x86_64.c:893:71: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘vmapp’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/arch/x86_64.c:18: included_from: Included from here. kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/arch/x86_64.c:858:41: note: in expansion of macro ‘DEBUG_MSG’ # 891| sizeof(struct vmap_pfns)); # 892| /* pfn of this 2MB page of page structs */ # 893|-> vmapp->vmap_pfn_start = start_data_addr # 894| >> PTE_SHIFT; # 895| vmapp->vmap_pfn_end = last_data_addr Error: GCC_ANALYZER_WARNING (CWE-476): kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/arch/x86_64.c:942:31: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘vmapp’ # 940| groups++; # 941| vmapp = (struct vmap_pfns *)malloc(sizeof(struct vmap_pfns)); # 942|-> vmapp->vmap_pfn_start = start_data_addr >> PTE_SHIFT; # 943| vmapp->vmap_pfn_end = last_data_addr >> PTE_SHIFT; # 944| vmapp->rep_pfn_start = rep_pfn_start; Error: GCC_ANALYZER_WARNING (CWE-476): kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/arch/x86_64.c:965:39: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘vmapp’ # 963| do { # 964| vmapp = gvmem_pfns + i; # 965|-> vmapp->vmap_pfn_start = cur->vmap_pfn_start; # 966| vmapp->vmap_pfn_end = cur->vmap_pfn_end; # 967| vmapp->rep_pfn_start = cur->rep_pfn_start; Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/dwarf_info.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/dwarf_info.c: scope_hint: In function ‘init_dwarf_info’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/dwarf_info.c:302:19: warning[-Wanalyzer-fd-use-without-check]: ‘dup’ on possibly invalid file descriptor ‘dwarf_info.fd_debuginfo’ # 300| open(dwarf_info.name_debuginfo, O_RDONLY); # 301| # 302|-> dwfl_fd = dup(dwarf_info.fd_debuginfo); # 303| if (dwfl_fd < 0) { # 304| ERRMSG("Failed to get a duplicate handle for" Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/dwarf_info.c:768:12: warning[deadcode.DeadStores]: Although the value stored to 'tag' is used in the enclosing expression, the value is never actually read from 'tag' # 766| # 767| /* Resolve typedefs of typedefs. */ # 768|-> while ((tag = dwarf_tag(&die_type)) == DW_TAG_typedef) { # 769| if (!get_die_type(&die_type, &die_type)) { # 770| ERRMSG("Can't get CU die of DW_AT_type.\n"); Error: GCC_ANALYZER_WARNING (CWE-688): kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/dwarf_info.c: scope_hint: In function ‘get_debug_info’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/dwarf_info.c:995:13: warning[-Wanalyzer-null-argument]: use of NULL ‘name’ where non-null expected kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/dwarf_info.c:19: included_from: Included from here. /usr/include/string.h:156:12: note: argument 1 of ‘strcmp’ must be non-null # 993| break; # 994| } # 995|-> if (strcmp(name, ".debug_info")) { # 996| ERRMSG("Can't get .debug_info section.\n"); # 997| goto out; Error: GCC_ANALYZER_WARNING (CWE-688): kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/dwarf_info.c: scope_hint: In function ‘set_dwarf_debuginfo’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/dwarf_info.c:1666:14: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘dwarf_info.module_name’ where non-null expected /usr/include/string.h:156:12: note: argument 1 of ‘strcmp’ must be non-null # 1664| dwarf_info.module_name = strdup(mod_name); # 1665| # 1666|-> if (!strcmp(dwarf_info.module_name, "vmlinux") || # 1667| !strcmp(dwarf_info.module_name, "xen-syms")) # 1668| return TRUE; Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/elf_info.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/erase_info.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/erase_info.c:477:7: warning[core.uninitialized.Branch]: Branch condition evaluates to a garbage value # 475| free(config->module_name); # 476| for (i = 0; i < config->num_filter_symbols; i++) { # 477|-> if (config->filter_symbol[i]) # 478| free_config_entry(config->filter_symbol[i]); # 479| if (config->size_symbol[i]) Error: GCC_ANALYZER_WARNING (CWE-476): kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/erase_info.c: scope_hint: In function ‘free_config.part.0’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/erase_info.c:477:42: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/erase_info.c:19: included_from: Included from here. kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.h:304:47: note: in definition of macro ‘OFFSET’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.h:304:47: note: in definition of macro ‘OFFSET’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.h:44: included_from: Included from here. kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/erase_info.c:416:24: note: in expansion of macro ‘FALSE’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.h:47: included_from: Included from here. kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/erase_info.c:694:33: note: in expansion of macro ‘ERRMSG’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/erase_info.c:801:17: note: in expansion of macro ‘ERRMSG’ # 475| free(config->module_name); # 476| for (i = 0; i < config->num_filter_symbols; i++) { # 477|-> if (config->filter_symbol[i]) # 478| free_config_entry(config->filter_symbol[i]); # 479| if (config->size_symbol[i]) Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/erase_info.c:1187:8: warning[core.NonNullParamChecker]: Null pointer passed to 1st parameter expecting 'nonnull' # 1185| * that of parent node. # 1186| */ # 1187|-> if (strcmp(base_struct_name, ce->type_name)) # 1188| return FALSE; # 1189| } Error: CPPCHECK_WARNING (CWE-401): kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/erase_info.c:1543: error[memleakOnRealloc]: Common realloc mistake: 'erase_info' nulled but not freed upon failure # 1541| filter_symbol->symbol_expr); # 1542| idx = num_erase_info++; # 1543|-> erase_info = realloc(erase_info, # 1544| sizeof(struct erase_info) * num_erase_info); # 1545| if (!erase_info) { Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/erase_info.c:2233:2: warning[core.CallAndMessage]: Called function pointer is null (null dereference) # 2231| /* Load/compile, execute and unload the eppic macro */ # 2232| eppic_load(name_config); # 2233|-> eppic_unload(name_config); # 2234| # 2235| if (dlclose(handle)) Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/extension_eppic.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/extension_eppic.c:264:16: warning[core.NullDereference]: Dereference of null pointer (loaded from variable 'last_index') # 262| eppic_member_snbits(m, nbits); # 263| eppic_member_sfbit(m, fbits); # 264|-> *last_index = index + 1; # 265| return drilldown(m_die, tm); # 266| } Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:314:2: warning[deadcode.DeadStores]: Value stored to 'zlib' is never read # 312| { # 313| unsigned long zlib, lzo, snappy, zstd; # 314|-> zlib = lzo = snappy = zstd = 0; # 315| # 316| zlib = compressBound(page_size); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:314:9: warning[deadcode.DeadStores]: Although the value stored to 'lzo' is used in the enclosing expression, the value is never actually read from 'lzo' # 312| { # 313| unsigned long zlib, lzo, snappy, zstd; # 314|-> zlib = lzo = snappy = zstd = 0; # 315| # 316| zlib = compressBound(page_size); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:314:15: warning[deadcode.DeadStores]: Although the value stored to 'snappy' is used in the enclosing expression, the value is never actually read from 'snappy' # 312| { # 313| unsigned long zlib, lzo, snappy, zstd; # 314|-> zlib = lzo = snappy = zstd = 0; # 315| # 316| zlib = compressBound(page_size); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:314:24: warning[deadcode.DeadStores]: Although the value stored to 'zstd' is used in the enclosing expression, the value is never actually read from 'zstd' # 312| { # 313| unsigned long zlib, lzo, snappy, zstd; # 314|-> zlib = lzo = snappy = zstd = 0; # 315| # 316| zlib = compressBound(page_size); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:3427:18: warning[unix.Malloc]: Use of memory allocated with size zero # 3425| mem_map = mem_map_pgdat+SIZE(page)*(pfn_start-pfn_start_pgdat); # 3426| # 3427|-> mmd->pfn_start = pfn_start; # 3428| mmd->pfn_end = pfn_end; # 3429| mmd->mem_map = mem_map; Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:3513:23: warning[core.UndefinedBinaryOperatorResult]: The left operand of '+' is a garbage value # 3511| } # 3512| } else # 3513|-> mem_map = vmem_map + (SIZE(page) * pfn_start); # 3514| # 3515| if (separate_mm) { Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:3553:25: warning[unix.Malloc]: Use of memory allocated with size zero # 3551| * of nodes. # 3552| */ # 3553|-> mmd[id_mm].pfn_start = pfn_start; # 3554| mmd[id_mm].pfn_end = pfn_end; # 3555| mmd[id_mm].mem_map = mem_map; Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:3579:25: warning[core.UndefinedBinaryOperatorResult]: The left operand of '<' is a garbage value # 3577| for (i = 0; i < (num_mem_map - 1); i++) { # 3578| for (j = i + 1; j < num_mem_map; j++) { # 3579|-> if (mmd[j].pfn_start < mmd[i].pfn_start) { # 3580| temp_mmd = mmd[j]; # 3581| mmd[j] = mmd[i]; Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:3591:6: warning[unix.Malloc]: Use of memory allocated with size zero # 3589| */ # 3590| info->num_mem_map = num_mem_map; # 3591|-> if (mmd[0].pfn_start != 0) # 3592| info->num_mem_map++; # 3593| Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:3591:23: warning[core.UndefinedBinaryOperatorResult]: The left operand of '!=' is a garbage value # 3589| */ # 3590| info->num_mem_map = num_mem_map; # 3591|-> if (mmd[0].pfn_start != 0) # 3592| info->num_mem_map++; # 3593| Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:3611:35: warning[core.UndefinedBinaryOperatorResult]: The left operand of '<' is a garbage value # 3609| info->num_mem_map++; # 3610| } # 3611|-> if (mmd[num_mem_map - 1].pfn_end < info->max_mapnr) # 3612| info->num_mem_map++; # 3613| Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:3971:3: warning[unix.Malloc]: Potential leak of memory pointed to by 'bmp' # 3969| bmp->buf = malloc(BUFSIZE_BITMAP); # 3970| if (bmp->buf == NULL) { # 3971|-> ERRMSG("Can't allocate memory for the bitmap buffer. %s\n", # 3972| strerror(errno)); # 3973| return FALSE; Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:4809:32: warning[core.NullDereference]: Access to field 'start_pfn' results in a dereference of a null pointer (loaded from variable 'cycle') # 4807| if (warning == 0) { # 4808| MSG("WARNING: PFN out of cycle range. (pfn:%llx, ", pfn); # 4809|-> MSG("cycle:[%llx-%llx])\n", cycle->start_pfn, cycle->end_pfn); # 4810| warning = 1; # 4811| } Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:4818:16: warning[core.NullDereference]: Access to field 'start_pfn' results in a dereference of a null pointer (loaded from variable 'cycle') # 4816| * If val is 0, clear bit on the bitmap. # 4817| */ # 4818|-> byte = (pfn - cycle->start_pfn)>>3; # 4819| bit = (pfn - cycle->start_pfn) & 7; # 4820| if (val) Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:5770:3: warning[core.CallAndMessage]: 3rd function call argument is an uninitialized value # 5768| DEBUG_MSG("log_buf_len : %d\n", log_buf_len); # 5769| if (info->flag_partial_dmesg) # 5770|-> DEBUG_MSG("clear_idx : %u\n", log_first_idx); # 5771| else # 5772| DEBUG_MSG("log_first_idx : %u\n", log_first_idx); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:5772:3: warning[core.CallAndMessage]: 3rd function call argument is an uninitialized value # 5770| DEBUG_MSG("clear_idx : %u\n", log_first_idx); # 5771| else # 5772|-> DEBUG_MSG("log_first_idx : %u\n", log_first_idx); # 5773| DEBUG_MSG("log_next_idx : %u\n", log_next_idx); # 5774| Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:5832:20: warning[core.UndefinedBinaryOperatorResult]: The right operand of '+' is a garbage value # 5830| goto out; # 5831| } # 5832|-> ptr = log_buffer + log_first_idx; # 5833| dc = dc_init(ptr, log_buffer, log_next); # 5834| while (ptr != log_buffer + log_next_idx) { Error: COMPILER_WARNING (CWE-252): kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c: scope_hint: In function ‘dump_dmesg’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:5846:33: warning[-Wunused-result]: ignoring return value of ‘ftruncate’ declared with attribute ‘warn_unused_result’ # 5846 | ftruncate(info->fd_dumpfile, 0); # | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # 5844| # 5845| /* Clear everything we have already written... */ # 5846|-> ftruncate(info->fd_dumpfile, 0); # 5847| lseek(info->fd_dumpfile, 0, SEEK_SET); # 5848| Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:6231:24: warning[core.UndefinedBinaryOperatorResult]: The left operand of '>=' is a garbage value # 6229| create_1st_bitmap(struct cycle *cycle) # 6230| { # 6231|-> if (info->bitmap1->fd >= 0) { # 6232| return create_1st_bitmap_file(); # 6233| } else { Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:7477:18: warning[core.UndefinedBinaryOperatorResult]: The left operand of '!=' is a garbage value # 7475| break; # 7476| } # 7477|-> if (note.p_type != PT_NOTE) { # 7478| ERRMSG("Can't get a PT_NOTE header.\n"); # 7479| goto out; Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:7489:28: warning[core.UndefinedBinaryOperatorResult]: The right operand of '*' is a garbage value # 7487| cd_header->offset = sizeof(ehdr32); # 7488| offset_note_dumpfile = sizeof(ehdr32) # 7489|-> + sizeof(Elf32_Phdr) * ehdr32.e_phnum; # 7490| } # 7491| Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:7503:42: warning[core.UndefinedBinaryOperatorResult]: The left operand of '==' is a garbage value # 7501| * if necessary. This order is not typical, but looks enough for now. # 7502| */ # 7503|-> if (is_elf64_memory() && ehdr64.e_phnum == PN_XNUM) { # 7504| Elf64_Shdr shdr64; # 7505| Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:8465:18: warning[core.NullDereference]: Access to field 'next_in' results in a dereference of a null pointer (loaded from variable 'stream') # 8463| { # 8464| int err; # 8465|-> stream->next_in = (Bytef*)source; # 8466| stream->avail_in = (uInt)sourceLen; # 8467| stream->next_out = dest; Error: CPPCHECK_WARNING (CWE-457): kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:8936: error[uninitvar]: Uninitialized variable: z_stream # 8934| struct timespec ts_start; # 8935| int ret = FALSE; # 8936|-> z_stream z_stream, *stream = NULL; # 8937| #ifdef USELZO # 8938| lzo_bytep wrkmem = NULL; Error: CPPCHECK_WARNING (CWE-401): kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:9199: error[memleakOnRealloc]: Common realloc mistake: 'obuf' nulled but not freed upon failure # 9197| if (ei_size > obuf_size) { # 9198| obuf_size = ei_size; # 9199|-> obuf = realloc(obuf, obuf_size); # 9200| if (!obuf) { # 9201| ERRMSG("Can't allocate memory for" Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:9201:6: warning[unix.Malloc]: Potential leak of memory pointed to by 'obuf' # 9199| obuf = realloc(obuf, obuf_size); # 9200| if (!obuf) { # 9201|-> ERRMSG("Can't allocate memory for" # 9202| " output buffer\n"); # 9203| return FALSE; Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:9209:36: warning[core.NonNullParamChecker]: Null pointer passed to 1st parameter expecting 'nonnull' # 9207| size_str); # 9208| DEBUG_MSG("%s", obuf); # 9209|-> if (!write_cache(cd_page, obuf, strlen(obuf))) # 9210| goto out; # 9211| size_eraseinfo += strlen(obuf); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:10510:2: warning[deadcode.DeadStores]: Value stored to 'shrinking' is never read #10508| + pfn_user + pfn_free + pfn_hwpoison + pfn_offline; #10509| shrinking = (pfn_original - pfn_excluded) * 100; #10510|-> shrinking = shrinking / pfn_original; #10511| total_size = info->page_size * pfn_original; #10512| Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:10615:2: warning[deadcode.DeadStores]: Value stored to 'end_pfn' is never read #10613| offset = *cur_splitblock_num * splitblock->entry_size; #10614| splitblock_value_offset = splitblock->table + offset; #10615|-> end_pfn = start_pfn; #10616| #10617| while (*cur_splitblock_num < splitblock->num && pfn_needed > 0) { Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:10638:2: warning[deadcode.DeadStores]: Value stored to 'start_pfn' is never read #10636| mdf_pfn_t start_pfn, end_pfn; #10637| int cur_splitblock_num = 0; #10638|-> start_pfn = end_pfn = 0; #10639| #10640| if (info->num_dumpfile <= 1) Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:11029:29: warning[core.UndefinedBinaryOperatorResult]: The left operand of '!=' is a garbage value #11027| * Check whether there are not lack of /proc/vmcore. #11028| */ #11029|-> if (SPLITTING_START_PFN(0) != 0) { #11030| ERRMSG("There is not dumpfile corresponding to pfn 0x%x - 0x%llx.\n", #11031| 0x0, SPLITTING_START_PFN(0)); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:11185:35: warning[core.UndefinedBinaryOperatorResult]: The right operand of '+' is a garbage value #11183| * Write dump bitmap to both a dumpfile and a bitmap file. #11184| */ #11185|-> offset = (DISKDUMP_HEADER_BLOCKS + dh.sub_hdr_size) * dh.block_size; #11186| info->len_bitmap = dh.bitmap_blocks * dh.block_size; #11187| if ((buf_bitmap = malloc(info->len_bitmap)) == NULL) { Error: CPPCHECK_WARNING (CWE-401): kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:11394: error[memleakOnRealloc]: Common realloc mistake: 'data' nulled but not freed upon failure #11392| if (SPLITTING_SIZE_EI(i) > data_buf_size) { #11393| data_buf_size = SPLITTING_SIZE_EI(i); #11394|-> if ((data = realloc(data, data_buf_size)) == NULL) { #11395| ERRMSG("Can't allocate memory for eraseinfo" #11396| " data.\n"); Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:11442:6: warning[unix.Malloc]: Potential leak of memory pointed to by 'data' #11440| if (data) #11441| free(data); #11442|-> if (fd >= 0) #11443| close(fd); #11444| Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:12421:7: warning[core.NullDereference]: Access to field 'flag_check_params' results in a dereference of a null pointer (loaded from variable 'info') #12419| retcd = COMPLETED; #12420| out: #12421|-> if (!info->flag_check_params) { #12422| MSG("\n"); #12423| if (retcd != COMPLETED) Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.c:16: included_from: Included from here. kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/makedumpfile.h:2540:35: warning[core.NullDereference]: Access to field 'start_pfn' results in a dereference of a null pointer (loaded from variable 'cycle') # 2538| return FALSE; # 2539| else # 2540|-> return is_on(bitmap->buf, pfn - cycle->start_pfn); # 2541| } # 2542| Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/printk.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/sadump_info.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/makedumpfile-1.7.4/sadump_info.c:1811:6: warning[unix.StdCLibraryFunctions]: The 1st argument to 'fwrite' is a buffer with size 1 but should be a buffer with size equal to or greater than the value of the 2nd argument (which is 1) times the 3rd argument (which is 3) # 1809| # 1810| len = roundup(*offset, 4) - *offset; # 1811|-> if (fwrite(&nullbyte, 1, len, si->file_elf_note) != len) { # 1812| ERRMSG("Can't write elf_note file. %s\n", strerror(errno)); # 1813| return FALSE; Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/purgatory/printf.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/util_lib/compute_ip_checksum.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/util_lib/elf_info.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING (CWE-823): kexec-tools-2.0.28-build/kexec-tools-2.0.28/util_lib/elf_info.c:360: error[arrayIndexOutOfBounds]: Array 'temp_buf[1024]' accessed at index 1024, which is out of bounds. # 358| len = sizeof(temp_buf) - 1; # 359| strncpy(temp_buf, pos, len); # 360|-> temp_buf[len + 1] = '\0'; # 361| # 362| pos = temp_buf; Error: COMPILER_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/util_lib/elf_info.c: scope_hint: In function ‘scan_vmcoreinfo’ kexec-tools-2.0.28-build/kexec-tools-2.0.28/util_lib/elf_info.c:360:43: warning[-Wstringop-overflow=]: writing 1 byte into a region of size 0 # 360 | temp_buf[len + 1] = '\0'; # | ~~~~~~~~~~~~~~~~~~^~~~~~ kexec-tools-2.0.28-build/kexec-tools-2.0.28/util_lib/elf_info.c:319:14: note: at offset 1024 into destination object ‘temp_buf’ of size 1024 # 319 | char temp_buf[1024]; # | ^~~~~~~~ # 358| len = sizeof(temp_buf) - 1; # 359| strncpy(temp_buf, pos, len); # 360|-> temp_buf[len + 1] = '\0'; # 361| # 362| pos = temp_buf; Error: CLANG_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/util_lib/elf_info.c:709:2: warning[deadcode.DeadStores]: Value stored to 'logged_chars' is never read # 707| log_end = read_file_u32(fd, vaddr_to_offset(log_end_vaddr)); # 708| log_buf_len = read_file_s32(fd, vaddr_to_offset(log_buf_len_vaddr)); # 709|-> logged_chars = read_file_u32(fd, vaddr_to_offset(logged_chars_vaddr)); # 710| # 711| log_buf_offset = vaddr_to_offset(log_buf); Error: CPPCHECK_WARNING: kexec-tools-2.0.28-build/kexec-tools-2.0.28/util_lib/sha256.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.