Skip to content

Commit

Permalink
Additional check in updateBlobs before dereference
Browse files Browse the repository at this point in the history
  • Loading branch information
Siddharth More authored and Siddharth More committed Feb 28, 2024
1 parent df8e81d commit 47e0b11
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions disperser/batcher/finalizer.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,14 @@ func (f *finalizer) FinalizeBlobs(ctx context.Context) error {

func (f *finalizer) updateBlobs(ctx context.Context, metadatas []*disperser.BlobMetadata, lastFinalBlock uint64) {
for _, m := range metadatas {
// Check if metadata is nil before proceeding
if m == nil {
f.logger.Error("FinalizeBlobs: encountered nil metadata in loop")
continue
}
stageTimer := time.Now()
blobKey := m.GetBlobKey()

if m.BlobStatus != disperser.Confirmed {
f.logger.Error("FinalizeBlobs: the blob retrieved by status Confirmed is actually", m.BlobStatus.String(), "blobKey", blobKey.String())
continue
Expand All @@ -134,6 +140,12 @@ func (f *finalizer) updateBlobs(ctx context.Context, metadatas []*disperser.Blob
continue
}

// Additional checks for confirmationMetadata and its nested fields
if confirmationMetadata == nil || confirmationMetadata.ConfirmationInfo == nil {
f.logger.Error("FinalizeBlobs: received nil confirmationMetadata or ConfirmationInfo", "blobKey", blobKey.String())
continue
}

// Leave as confirmed if the confirmation block is after the latest finalized block (not yet finalized)
if uint64(confirmationMetadata.ConfirmationInfo.ConfirmationBlockNumber) > lastFinalBlock {
continue
Expand Down

0 comments on commit 47e0b11

Please sign in to comment.