Committed by
Gerrit Code Review
Fix for Null Dereference in Label Store
Change-Id: I76711a19585d8fd508769101e8aedc3719bcde83
Showing
1 changed file
with
8 additions
and
0 deletions
... | @@ -312,6 +312,10 @@ public class DistributedLabelResourceStore | ... | @@ -312,6 +312,10 @@ public class DistributedLabelResourceStore |
312 | DeviceId deviceId = request.deviceId(); | 312 | DeviceId deviceId = request.deviceId(); |
313 | long applyNum = request.applyNum(); | 313 | long applyNum = request.applyNum(); |
314 | Versioned<LabelResourcePool> poolOld = resourcePool.get(deviceId); | 314 | Versioned<LabelResourcePool> poolOld = resourcePool.get(deviceId); |
315 | + if (poolOld == null) { | ||
316 | + log.info("label resource pool not allocated for deviceId {}.", deviceId); | ||
317 | + return Collections.emptyList(); | ||
318 | + } | ||
315 | LabelResourcePool pool = poolOld.value(); | 319 | LabelResourcePool pool = poolOld.value(); |
316 | Collection<LabelResource> result = new HashSet<LabelResource>(); | 320 | Collection<LabelResource> result = new HashSet<LabelResource>(); |
317 | long freeNum = this.getFreeNumOfDevicePool(deviceId); | 321 | long freeNum = this.getFreeNumOfDevicePool(deviceId); |
... | @@ -397,6 +401,10 @@ public class DistributedLabelResourceStore | ... | @@ -397,6 +401,10 @@ public class DistributedLabelResourceStore |
397 | DeviceId deviceId = request.deviceId(); | 401 | DeviceId deviceId = request.deviceId(); |
398 | Collection<LabelResource> release = request.releaseCollection(); | 402 | Collection<LabelResource> release = request.releaseCollection(); |
399 | Versioned<LabelResourcePool> poolOld = resourcePool.get(deviceId); | 403 | Versioned<LabelResourcePool> poolOld = resourcePool.get(deviceId); |
404 | + if (poolOld == null) { | ||
405 | + log.info("the label resource pool of device id {} not allocated"); | ||
406 | + return false; | ||
407 | + } | ||
400 | LabelResourcePool pool = poolOld.value(); | 408 | LabelResourcePool pool = poolOld.value(); |
401 | if (pool == null) { | 409 | if (pool == null) { |
402 | log.info("the label resource pool of device id {} does not exist"); | 410 | log.info("the label resource pool of device id {} does not exist"); | ... | ... |
-
Please register or login to post a comment