Skip to content

Commit 79034dc

Browse files
committed
[JENKINS-46555] Protect against null LockableResources being crated / used
1 parent d9e9788 commit 79034dc

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

src/main/java/org/jenkins/plugins/lockableresources/LockableResourcesManager.java

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ public synchronized boolean lock(Set<LockableResource> resources,
320320
private synchronized void freeResources(List<String> unlockResourceNames, @Nullable Run<?, ?> build) {
321321
for (String unlockResourceName : unlockResourceNames) {
322322
for (LockableResource resource : this.resources) {
323-
if (resource.getName().equals(unlockResourceName)) {
323+
if (resource != null && resource.getName() != null && resource.getName().equals(unlockResourceName)) {
324324
if (build == null || (resource.getBuild() != null && build.getExternalizableId().equals(resource.getBuild().getExternalizableId()))) {
325325
// No more contexts, unlock resource
326326
resource.unqueue();
@@ -481,21 +481,25 @@ private QueuedContextStruct getNextQueuedContext(List<String> resourceNamesToUnL
481481
* Creates the resource if it does not exist.
482482
*/
483483
public synchronized boolean createResource(String name) {
484-
LockableResource existent = fromName(name);
485-
if (existent == null) {
486-
getResources().add(new LockableResource(name));
487-
save();
488-
return true;
484+
if (name != null) {
485+
LockableResource existent = fromName(name);
486+
if (existent == null) {
487+
getResources().add(new LockableResource(name));
488+
save();
489+
return true;
490+
}
489491
}
490492
return false;
491493
}
492494

493495
public synchronized boolean createResourceWithLabel(String name, String label) {
494-
LockableResource existent = fromName(name);
495-
if (existent == null) {
496-
getResources().add(new LockableResource(name, "", label, null));
497-
save();
498-
return true;
496+
if (name !=null && label !=null) {
497+
LockableResource existent = fromName(name);
498+
if (existent == null) {
499+
getResources().add(new LockableResource(name, "", label, null));
500+
save();
501+
return true;
502+
}
499503
}
500504
return false;
501505
}

0 commit comments

Comments
 (0)