Newly introduced findings

List of Findings

Error: CPPCHECK_WARNING (CWE-190): [#def1]
pipewire-1.6.8/spa/plugins/alsa/alsa-acp-device.c:111: error[integerOverflow]: Signed integer overflow for expression '0-1'.
#  109|   	 * profile change if the card comes back. */
#  110|   	if (rmask & (SPA_IO_ERR | SPA_IO_HUP)) {
#  111|-> 		spa_log_warn(this->log, "%p: poll fd error/hangup (card removed?), "
#  112|   				"removing poll sources", this);
#  113|   		remove_sources(this);

Error: CPPCHECK_WARNING (CWE-190): [#def2]
pipewire-1.6.8/spa/plugins/alsa/alsa-seq-bridge.c:460: error[integerOverflow]: Signed integer overflow for expression '0-1'.
#  458|   
#  459|   	if (info == NULL) {
#  460|-> 		spa_log_debug(state->log, "free port %d.%d %p", addr->client, addr->port, port);
#  461|   		if (port)
#  462|   			free_port(state, stream, port);

Error: CPPCHECK_WARNING (CWE-190): [#def3]
pipewire-1.6.8/spa/plugins/alsa/alsa-seq-bridge.c:472: error[integerOverflow]: Signed integer overflow for expression '0-1'.
#  470|   		} else if (port != NULL) {
#  471|   			if ((caps & stream->caps) != stream->caps) {
#  472|-> 				spa_log_debug(state->log, "free port %d.%d %p", addr->client, addr->port, port);
#  473|   				free_port(state, stream, port);
#  474|   			}

Error: CPPCHECK_WARNING (CWE-190): [#def4]
pipewire-1.6.8/spa/plugins/alsa/alsa-seq-bridge.c:839: error[integerOverflow]: Signed integer overflow for expression '0-1'.
#  837|   	info.size = size;
#  838|   
#  839|-> 	spa_log_debug(this->log, "%p: %p: io %d.%d %d %p %zd", this, port,
#  840|   			direction, port_id, id, data, size);
#  841|   

Error: CPPCHECK_WARNING (CWE-190): [#def5]
pipewire-1.6.8/spa/plugins/audiomixer/mixer-dsp.c:856: error[integerOverflow]: Signed integer overflow for expression '0-1'.
#  854|   		    (suppressed = spa_ratelimit_test(&this->rate_limit,
#  855|   				this->position->clock.nsec)) >= 0)
#  856|-> 			spa_log_warn(this->log, "%p: (%d suppressed) out of buffers (%d)", this,
#  857|   					suppressed, outport->n_buffers);
#  858|   		return -EPIPE;

Error: CPPCHECK_WARNING (CWE-190): [#def6]
pipewire-1.6.8/spa/plugins/control/mixer.c:167: error[integerOverflow]: Signed integer overflow for expression '0-1'.
#  165|   		this->info.change_mask = this->info_all;
#  166|   	if (this->info.change_mask) {
#  167|-> 		spa_node_emit_info(&this->hooks, &this->info);
#  168|   		this->info.change_mask = old;
#  169|   	}

Error: CPPCHECK_WARNING (CWE-190): [#def7]
pipewire-1.6.8/spa/plugins/control/mixer.c:178: error[integerOverflow]: Signed integer overflow for expression '0-1'.
#  176|   		port->info.change_mask = port->info_all;
#  177|   	if (port->info.change_mask) {
#  178|-> 		spa_node_emit_port_info(&this->hooks,
#  179|   				port->direction, port->id, &port->info);
#  180|   		port->info.change_mask = old;

Error: CPPCHECK_WARNING (CWE-190): [#def8]
pipewire-1.6.8/spa/plugins/control/mixer.c:262: error[integerOverflow]: Signed integer overflow for expression '0-1'.
#  260|   	spa_list_append(&this->port_list, &port->link);
#  261|   
#  262|-> 	spa_log_debug(this->log, "%p: add port %d:%d", this, direction, port_id);
#  263|   	emit_port_info(this, port, true);
#  264|   

Error: CPPCHECK_WARNING (CWE-190): [#def9]
pipewire-1.6.8/spa/plugins/control/mixer.c:288: error[integerOverflow]: Signed integer overflow for expression '0-1'.
#  286|   	spa_list_append(&this->free_list, &port->link);
#  287|   
#  288|-> 	spa_log_debug(this->log, "%p: remove port %d:%d", this, direction, port_id);
#  289|   
#  290|   	spa_node_emit_port_info(&this->hooks, direction, port_id, NULL);

Error: CPPCHECK_WARNING (CWE-190): [#def10]
pipewire-1.6.8/spa/plugins/control/mixer.c:290: error[integerOverflow]: Signed integer overflow for expression '0-1'.
#  288|   	spa_log_debug(this->log, "%p: remove port %d:%d", this, direction, port_id);
#  289|   
#  290|-> 	spa_node_emit_port_info(&this->hooks, direction, port_id, NULL);
#  291|   
#  292|   	return 0;

Error: CPPCHECK_WARNING (CWE-190): [#def11]
pipewire-1.6.8/spa/plugins/control/mixer.c:394: error[integerOverflow]: Signed integer overflow for expression '0-1'.
#  392|   		goto next;
#  393|   
#  394|-> 	spa_node_emit_result(&this->hooks, seq, 0, SPA_RESULT_TYPE_NODE_PARAMS, &result);
#  395|   
#  396|   	if (++count != num)

Error: CPPCHECK_WARNING (CWE-190): [#def12]
pipewire-1.6.8/spa/plugins/control/mixer.c:405: error[integerOverflow]: Signed integer overflow for expression '0-1'.
#  403|   {
#  404|   	if (port->n_buffers > 0) {
#  405|-> 		spa_log_debug(this->log, "%p: clear buffers %p", this, port);
#  406|   		port->n_buffers = 0;
#  407|   		spa_list_init(&port->queue);

Error: CPPCHECK_WARNING (CWE-190): [#def13]
pipewire-1.6.8/spa/plugins/control/mixer.c:478: error[integerOverflow]: Signed integer overflow for expression '0-1'.
#  476|   			port->have_format = true;
#  477|   			port->types = types == 0 ? this->control_types : types;
#  478|-> 			spa_log_debug(this->log, "%p: set format on port %d:%d types:%08x %08x",
#  479|   					this, direction, port_id, port->types, this->control_types);
#  480|   		}

Error: CPPCHECK_WARNING (CWE-190): [#def14]
pipewire-1.6.8/spa/plugins/control/mixer.c:531: error[integerOverflow]: Signed integer overflow for expression '0-1'.
#  529|   	port = GET_PORT(this, direction, port_id);
#  530|   
#  531|-> 	spa_log_debug(this->log, "%p: use buffers %d on port %d:%d",
#  532|   			this, n_buffers, direction, port_id);
#  533|   

Error: CPPCHECK_WARNING (CWE-190): [#def15]
pipewire-1.6.8/spa/plugins/control/mixer.c:553: error[integerOverflow]: Signed integer overflow for expression '0-1'.
#  551|   
#  552|   		if (d[0].data == NULL) {
#  553|-> 			spa_log_error(this->log, "%p: invalid memory on buffer %d", this, i);
#  554|   			return -EINVAL;
#  555|   		}

Error: CPPCHECK_WARNING (CWE-190): [#def16]
pipewire-1.6.8/spa/plugins/control/mixer.c:612: error[integerOverflow]: Signed integer overflow for expression '0-1'.
#  610|   	spa_return_val_if_fail(this != NULL, -EINVAL);
#  611|   
#  612|-> 	spa_log_debug(this->log, "%p: port %d:%d io %d %p/%zd", this,
#  613|   			direction, port_id, id, data, size);
#  614|   

Error: CPPCHECK_WARNING (CWE-190): [#def17]
pipewire-1.6.8/spa/plugins/control/mixer.c:735: error[integerOverflow]: Signed integer overflow for expression '0-1'.
#  733|   	if ((outb = dequeue_buffer(this, outport)) == NULL) {
#  734|   		if (outport->n_buffers > 0)
#  735|-> 	                spa_log_warn(this->log, "%p: out of buffers (%d)",
#  736|   					this, outport->n_buffers);
#  737|                   return -EPIPE;

Error: CPPCHECK_WARNING (CWE-190): [#def18]
pipewire-1.6.8/spa/plugins/control/mixer.c:856: error[integerOverflow]: Signed integer overflow for expression '0-1'.
#  854|   
#  855|   	if (builder.state.offset > d->maxsize) {
#  856|-> 		spa_log_warn(this->log, "%p: control overflow %d > %d",
#  857|   				this, builder.state.offset, d->maxsize);
#  858|   		builder.state.offset = 0;

Error: CPPCHECK_WARNING (CWE-190): [#def19]
pipewire-1.6.8/spa/plugins/control/mixer.c:954: error[integerOverflow]: Signed integer overflow for expression '0-1'.
#  952|   	this->data_loop = spa_support_find(support, n_support, SPA_TYPE_INTERFACE_DataLoop);
#  953|   	if (this->data_loop == NULL) {
#  954|-> 		spa_log_error(this->log, "a data loop is needed");
#  955|   		return -EINVAL;
#  956|   	}

Error: GCC_ANALYZER_WARNING: [#def20]
pipewire-1.6.8/test/test-logger.c:349:14: warning[-Wanalyzer-fd-use-without-check]: ‘dup2’ on possibly invalid file descriptor ‘open(&fname, 524290)’
pipewire-1.6.8/test/test-logger.c:341:12: branch_false: following ‘false’ branch (when ‘oldenv’ is NULL)...
pipewire-1.6.8/test/test-logger.c:346:9: branch_false: ...to here
pipewire-1.6.8/test/test-logger.c:347:14: acquire_resource: opened here
pipewire-1.6.8/test/test-logger.c:348:9: branch_true: following ‘true’ branch...
pipewire-1.6.8/test/test-logger.c:348:9: branch_true: ...to here
pipewire-1.6.8/test/test-logger.c:349:14: danger: ‘open(&fname, 524290)’ could be invalid: unchecked value from [(3)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/2)
#  347|   	fd = open(fname, O_RDWR | O_CLOEXEC);
#  348|   	pwtest_errno_ok(fd);
#  349|-> 	rc = dup2(fd, STDERR_FILENO);
#  350|   	setlinebuf(stderr);
#  351|   	pwtest_errno_ok(rc);

Scan Properties

analyzer-version-clippy1.97.1
analyzer-version-cppcheck2.21.1
analyzer-version-gcc16.1.1
analyzer-version-gcc-analyzer16.1.1
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
diffbase-analyzer-version-clippy1.97.1
diffbase-analyzer-version-cppcheck2.21.1
diffbase-analyzer-version-gcc16.1.1
diffbase-analyzer-version-gcc-analyzer16.1.1
diffbase-analyzer-version-shellcheck0.11.0
diffbase-analyzer-version-unicontrol0.0.2
diffbase-enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
diffbase-exit-code0
diffbase-hostip-172-16-1-147.us-west-2.compute.internal
diffbase-known-false-positives/usr/share/csmock/known-false-positives.js
diffbase-known-false-positives-rpmknown-false-positives-0.0.0.20260524.213755.g3c6d0be.main-1.el9.noarch
diffbase-mock-configfedora-rawhide-x86_64
diffbase-project-namepipewire-1.6.2-1.fc44
diffbase-store-results-to/tmp/tmpdso5y0fx/pipewire-1.6.2-1.fc44.tar.xz
diffbase-time-created2026-08-03 19:26:03
diffbase-time-finished2026-08-03 19:40:20
diffbase-toolcsmock
diffbase-tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,clippy,unicontrol,shellcheck,cppcheck' '-o' '/tmp/tmpdso5y0fx/pipewire-1.6.2-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpdso5y0fx/pipewire-1.6.2-1.fc44.src.rpm'
diffbase-tool-versioncsmock-3.8.7.20260803.142340.gb75b18e-1.el9
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-147.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20260524.213755.g3c6d0be.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namepipewire-1.6.8-3.fc45
store-results-to/tmp/tmp560w7cus/pipewire-1.6.8-3.fc45.tar.xz
time-created2026-08-03 19:40:51
time-finished2026-08-03 19:54:32
titleNewly introduced findings
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,clippy,unicontrol,shellcheck,cppcheck' '-o' '/tmp/tmp560w7cus/pipewire-1.6.8-3.fc45.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmp560w7cus/pipewire-1.6.8-3.fc45.src.rpm'
tool-versioncsmock-3.8.7.20260803.142340.gb75b18e-1.el9