Skip to content

Fill in gaps for NPE fix#2004

Merged
res0nance merged 1 commit intojenkinsci:res0nance-patch-2from
samrocketman:fix-res0nance-patch-2
Apr 6, 2026
Merged

Fill in gaps for NPE fix#2004
res0nance merged 1 commit intojenkinsci:res0nance-patch-2from
samrocketman:fix-res0nance-patch-2

Conversation

@samrocketman
Copy link
Copy Markdown
Member

How current fix is incomplete

readResolve() has an early return this on line 540 inside the credential migration path. The cachedTemplateSlaves null check was placed after this early return, so any EC2Cloud instance with legacy accessId/secretKey credentials matching an existing credential would exit readResolve() without initializing cachedTemplateSlaves, hitting the same NPE.

This change

Moves the cachedTemplateSlaves null-check initialization to the top of readResolve(), immediately after slaveCountingLock, so it executes before any early return path.

How current fix is incomplete
-----------------------------

`readResolve()` has an early return this on line 540 inside the credential migration path. The `cachedTemplateSlaves` null check was placed after this early return, so any EC2Cloud instance with legacy accessId/secretKey credentials matching an existing credential would exit `readResolve()` without initializing cachedTemplateSlaves, hitting the same NPE.

This change
-----------

Moves the `cachedTemplateSlaves` null-check initialization to the top of `readResolve()`, immediately after `slaveCountingLock`, so it executes before any early return path.

Co-authored-by: sgleske@integralads.com
@res0nance res0nance merged commit c27f594 into jenkinsci:res0nance-patch-2 Apr 6, 2026
16 checks passed
res0nance added a commit that referenced this pull request Apr 6, 2026
* fix cachedSlaveTemplates being null

This should fix issue #2002

* Fill in gaps for NPE fix (#2004)

How current fix is incomplete
-----------------------------

`readResolve()` has an early return this on line 540 inside the credential migration path. The `cachedTemplateSlaves` null check was placed after this early return, so any EC2Cloud instance with legacy accessId/secretKey credentials matching an existing credential would exit `readResolve()` without initializing cachedTemplateSlaves, hitting the same NPE.

This change
-----------

Moves the `cachedTemplateSlaves` null-check initialization to the top of `readResolve()`, immediately after `slaveCountingLock`, so it executes before any early return path.

Co-authored-by: sgleske@integralads.com

---------

Co-authored-by: Sam Gleske <875669+samrocketman@users.noreply.github.com>
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.

2 participants