Skip to content

Commit 3e6e1f8

Browse files
authored
fix(Pinpoint): Add null check for endpoint response (#2704)
* null check for endpoint response * add empty check * add null check for results
1 parent 0681a5c commit 3e6e1f8

File tree

1 file changed

+20
-3
lines changed
  • aws-android-sdk-pinpoint/src/main/java/com/amazonaws/mobileconnectors/pinpoint/internal/event

1 file changed

+20
-3
lines changed

aws-android-sdk-pinpoint/src/main/java/com/amazonaws/mobileconnectors/pinpoint/internal/event/EventRecorder.java

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
import com.amazonaws.services.pinpoint.model.EventItemResponse;
5252
import com.amazonaws.services.pinpoint.model.EventsBatch;
5353
import com.amazonaws.services.pinpoint.model.EventsRequest;
54+
import com.amazonaws.services.pinpoint.model.ItemResponse;
5455
import com.amazonaws.services.pinpoint.model.PublicEndpoint;
5556
import com.amazonaws.services.pinpoint.model.PutEventsRequest;
5657
import com.amazonaws.services.pinpoint.model.PutEventsResult;
@@ -436,12 +437,28 @@ private void submitEventsAndEndpoint(final JSONArray eventArray,
436437
}
437438

438439
private void processEndpointResponse(EndpointProfile endpoint, PutEventsResult resultResponse) {
439-
final EndpointItemResponse endpointItemResponse = resultResponse
440+
final Map<String, ItemResponse> results = resultResponse
440441
.getEventsResponse()
441-
.getResults()
442+
.getResults();
443+
if (results == null || results.isEmpty()) {
444+
log.error("PutEventsResult is empty!");
445+
return;
446+
}
447+
448+
if (endpoint.getEndpointId().isEmpty()) {
449+
log.error("EndpointId is missing!");
450+
return;
451+
}
452+
453+
final EndpointItemResponse endpointItemResponse = results
442454
.get(endpoint.getEndpointId())
443455
.getEndpointItemResponse();
444-
if(202 == endpointItemResponse.getStatusCode()) {
456+
if (endpointItemResponse == null) {
457+
log.error("EndPointItemResponse is null!");
458+
return;
459+
}
460+
461+
if (202 == endpointItemResponse.getStatusCode()) {
445462
log.info("EndpointProfile updated successfully.");
446463
} else {
447464
log.error("AmazonServiceException occurred during endpoint update: " +

0 commit comments

Comments
 (0)