Skip to content

Commit 90c85ab

Browse files
authored
fix(simplestorage): use lower helper for safe pointer dereferencing (#21)
Replace unsafe raw pointer dereferencing with the lower helper function to prevent potential panics when AWS SDK response fields are nil. Affected functions: - Put: Etag and VersionId fields - List: NextContinuationToken field - ListBuckets: bucket Name and ContinuationToken fields This makes the code consistent with other methods like Get and Head which already use the lower helper for optional pointer fields. Assisted-by: GLM 4.7 via Claude Code Release-status: cut Signed-off-by: Xe Iaso <xe@tigrisdata.com>
1 parent c5cf14a commit 90c85ab

2 files changed

Lines changed: 5 additions & 9 deletions

File tree

simplestorage/buckets.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,14 +162,12 @@ func (c *Client) ListBuckets(ctx context.Context, opts ...BucketOption) (*Bucket
162162

163163
for _, b := range resp.Buckets {
164164
result.Buckets = append(result.Buckets, BucketInfo{
165-
Name: *b.Name,
165+
Name: lower(b.Name, ""),
166166
Created: lower(b.CreationDate, time.Time{}),
167167
})
168168
}
169169

170-
if resp.ContinuationToken != nil {
171-
result.NextToken = *resp.ContinuationToken
172-
}
170+
result.NextToken = lower(resp.ContinuationToken, "")
173171

174172
return result, nil
175173
}

simplestorage/client.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -267,8 +267,8 @@ func (c *Client) Put(ctx context.Context, obj *Object, opts ...ClientOption) (*O
267267
}
268268

269269
obj.Bucket = o.BucketName
270-
obj.Etag = *resp.ETag
271-
obj.Version = *resp.VersionId
270+
obj.Etag = lower(resp.ETag, "")
271+
obj.Version = lower(resp.VersionId, "")
272272

273273
return obj, nil
274274
}
@@ -329,9 +329,7 @@ func (c *Client) List(ctx context.Context, opts ...ClientOption) (*ListResult, e
329329
HasMore: lower(resp.IsTruncated, false),
330330
}
331331

332-
if resp.NextContinuationToken != nil {
333-
result.NextToken = *resp.NextContinuationToken
334-
}
332+
result.NextToken = lower(resp.NextContinuationToken, "")
335333

336334
for _, obj := range resp.Contents {
337335
result.Items = append(result.Items, Object{

0 commit comments

Comments
 (0)