fix(blob clients): nil pointer with unexpected blob client response (#1195)

* fix nil pointer with unexpected blob client response

* chore: auto version bump [bot]
This commit is contained in:
Jonas Theis 2025-06-05 17:20:54 +08:00 committed by GitHub
parent cdd77c1659
commit 7fbc35db18
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 13 additions and 1 deletions

View file

@ -24,7 +24,7 @@ import (
const (
VersionMajor = 5 // Major version component of the current release
VersionMinor = 8 // Minor version component of the current release
VersionPatch = 51 // Patch version component of the current release
VersionPatch = 52 // Patch version component of the current release
VersionMeta = "mainnet" // Version metadata to append to the version string
)

View file

@ -64,6 +64,12 @@ func (c *BlobScanClient) GetBlobByVersionedHashAndBlockTime(ctx context.Context,
if err != nil {
return nil, fmt.Errorf("failed to decode result into struct, err: %w", err)
}
// check that blob data is not empty
if len(result.Data) < 2 {
return nil, fmt.Errorf("blob data is too short to be valid, expected at least 2 characters, got: %s, versioned hash: %s", result.Data, versionedHash.String())
}
blobBytes, err := hex.DecodeString(result.Data[2:])
if err != nil {
return nil, fmt.Errorf("failed to decode data to bytes, err: %w", err)

View file

@ -59,6 +59,12 @@ func (c *BlockNativeClient) GetBlobByVersionedHashAndBlockTime(ctx context.Conte
if err != nil {
return nil, fmt.Errorf("failed to decode result into struct, err: %w", err)
}
// check that blob data is not empty
if len(result.Blob.Data) < 2 {
return nil, fmt.Errorf("blob data is too short to be valid, expected at least 2 characters, got: %s, versioned hash: %s", result.Blob.Data, versionedHash.String())
}
blobBytes, err := hex.DecodeString(result.Blob.Data[2:])
if err != nil {
return nil, fmt.Errorf("failed to decode data to bytes, err: %w", err)