Skip to content

FI main to develop#1358

Merged
5an7y-Microsoft merged 60 commits intodevelopfrom
main
Mar 19, 2026
Merged

FI main to develop#1358
5an7y-Microsoft merged 60 commits intodevelopfrom
main

Conversation

@5an7y-Microsoft
Copy link
Contributor

No description provided.

5an7y and others added 30 commits June 27, 2025 12:59
PR to test changes from original branch. No harm done since this is done to my users branch
5an7y-Microsoft and others added 24 commits October 3, 2025 12:02
New issues template based on sample.
adding workflow to bulk cleanup stale issues older than 1 year
Increase operations-per-run to 400 and the stale threshold
use PAT_TOKEN and add dry-run for testing purpose.
reversing the PAT_TOKEN and dry-run change
disable schedule and deleted the closing issue part
removed the space after newline which seems to be a bug in c++ 23
Added 'if: false' to the job to prevent it from running while preserving the code.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…wners

Disable tag-codeowner-on-issue workflow
…a-changes

Making INF verifier and option to the build all samples PS script
… direct interpolation

Co-authored-by: 5an7y-Microsoft <219205893+5an7y-Microsoft@users.noreply.github.com>
…ity-in-workflow

Fix RCE in tag-codeowner-on-issue workflow via environment variables
Fix RCE vulnerability in workflow using environment variables
//
// Add circuit identifiers.
//
AcxCircuitInitSetComponentId(circuitInit, &SDCAXU_MODULECIRCUIT_GUID);

Check failure

Code scanning / CodeQL

Result of call that may return NULL dereferenced unconditionally

In SdcaXu_CreateModuleCircuit result of [call](1) to [AcxCircuitInitAllocate](2) is dereferenced here and may be null.
// We could also change the formats supported by the host pin here, but a DSP will typically determine
// those formats and do appropriate processing.
ACXPIN bridgePin = AcxCircuitGetPinById(AcxPinGetCircuit(Pin), DspPinTypeBridge);
NTSTATUS status = ReplicateFormatsForPin(bridgePin, TargetCircuit, TargetPinId);

Check failure

Code scanning / CodeQL

Result of call that may return NULL dereferenced unconditionally

In DspR_EvtPinConnected result of [call](1) to [AcxCircuitGetPinById](2) is dereferenced here and may be null.
//
// Add factory identifiers.
//
RETURN_NTSTATUS_IF_FAILED(AcxFactoryCircuitInitAssignComponentUri(factoryInit, &dspFactoryUri));

Check failure

Code scanning / CodeQL

Result of call that may return NULL dereferenced unconditionally

In Dsp_AddFactoryCircuit result of [call](1) to [AcxFactoryCircuitInitAllocate](2) is dereferenced here and may be null.
// stream in Stereo.
NTSTATUS status;
ACXPIN hostPin = AcxCircuitGetPinById(AcxPinGetCircuit(Pin), DspCapturePinTypeHost);
status = ReplicateFormatsForPin(hostPin, TargetCircuit, TargetPinId);

Check failure

Code scanning / CodeQL

Result of call that may return NULL dereferenced unconditionally

In DspC_EvtPinConnected result of [call](1) to [AcxCircuitGetPinById](2) is dereferenced here and may be null.
ntStatus = ReadHeaderAndFillBuffer();

Done:
(void)KeRestoreFloatingPointState(&saveData);

Check warning

Code scanning / CodeQL

Irql Float State Mismatch Warning

The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (1).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (2).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (3).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (4).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (5).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (6).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (7).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (8).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (9).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (10).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (11).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (12).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (13).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (14).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (15).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (0).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (2).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (3).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (4).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (5).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (6).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (7).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (8).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (9).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (10).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (11).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (12).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (13).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (14).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (15).
The irql level where the floating-point state was saved (2) does not match the irql level for the restore operation (0).
The irql level where the floating-point state was saved (2) does not match the irql level for the restore operation (1).
The irql level where the floating-point state was saved (2) does not match the irql level for the restore operation (3).
The irql level where the floating-point state was saved (2) does not match the irql level f
m_PartialFrameBytes = m_FrameSize - (DWORD)length;

Done:
KeRestoreFloatingPointState(&saveData);

Check warning

Code scanning / CodeQL

Irql Float State Mismatch Warning

The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (1).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (2).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (3).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (4).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (5).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (6).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (7).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (8).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (9).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (10).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (11).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (12).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (13).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (14).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (15).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (0).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (2).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (3).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (4).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (5).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (6).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (7).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (8).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (9).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (10).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (11).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (12).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (13).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (14).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (15).
The irql level where the floating-point state was saved (2) does not match the irql level for the restore operation (0).
The irql level where the floating-point state was saved (2) does not match the irql level for the restore operation (1).
The irql level where the floating-point state was saved (2) does not match the irql level for the restore operation (3).
The irql level where the floating-point state was saved (2) does not match the irql level f
RETURN_NTSTATUS_IF_TRUE(pinConnection != nullptr, status);

pinConnectionSize = (ULONG)info;
pinConnection = (PKSPIN_PHYSICALCONNECTION)ExAllocatePool2(POOL_FLAG_NON_PAGED, pinConnectionSize, DRIVER_TAG);

Check warning

Code scanning / CodeQL

Possible information leakage from uninitialized padding bytes. Warning

Memory allocation of
KSPIN_PHYSICALCONNECTION
includes uninitialized padding bytes.
DECLARE_CONST_UNICODE_STRING(circuitUri, EXT_RENDER_CIRCUIT_URI);

#pragma prefast(suppress:__WARNING_ALIASED_MEMORY_LEAK, "memory is freed by scope_exit")
PSDCAXU_ACX_CIRCUIT_CONFIG exCircuitConfig = (PSDCAXU_ACX_CIRCUIT_CONFIG)ExAllocatePool2(

Check warning

Code scanning / CodeQL

Possible information leakage from uninitialized padding bytes. Warning

Memory allocation of
_SDCAXU_ACX_CIRCUIT_CONFIG
includes uninitialized padding bytes.
DECLARE_CONST_UNICODE_STRING(circuitUri, EXT_CAPTURE_CIRCUIT_URI);

#pragma prefast(suppress:__WARNING_ALIASED_MEMORY_LEAK, "memory is freed by scope_exit")
PSDCAXU_ACX_CIRCUIT_CONFIG exCircuitConfig = (PSDCAXU_ACX_CIRCUIT_CONFIG)ExAllocatePool2(

Check warning

Code scanning / CodeQL

Possible information leakage from uninitialized padding bytes. Warning

Memory allocation of
_SDCAXU_ACX_CIRCUIT_CONFIG
includes uninitialized padding bytes.
RETURN_NTSTATUS_IF_FAILED(RtlSizeTMult(PacketCount, sizeof(ACX_RTPACKET), &packetsSize));

#pragma prefast(suppress:__WARNING_MEMORY_LEAK, "On error packets gets freed inside scope_exit.")
packets = (PACX_RTPACKET)ExAllocatePool2(POOL_FLAG_NON_PAGED, packetsSize, DRIVER_TAG);

Check warning

Code scanning / CodeQL

Possible information leakage from uninitialized padding bytes.

Memory allocation of [_ACX_RTPACKET](1) includes uninitialized padding bytes.
@5an7y-Microsoft 5an7y-Microsoft marked this pull request as ready for review March 18, 2026 18:59
@5an7y-Microsoft 5an7y-Microsoft requested review from a team as code owners March 18, 2026 18:59
@5an7y-Microsoft 5an7y-Microsoft merged commit 21d5686 into develop Mar 19, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants