Browse Source

fix: panic: assignment to entry in nil map on S3Sink.CreateEntry (#5406)

pull/5409/head
Konstantin Lebedev 9 months ago
committed by GitHub
parent
commit
25643cfbc6
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 19
      weed/replication/sink/s3sink/s3_sink.go

19
weed/replication/sink/s3sink/s3_sink.go

@ -175,18 +175,23 @@ func (s3sink *S3Sink) CreateEntry(key string, entry *filer_pb.Entry, signatures
uploader.PartSize = 0 uploader.PartSize = 0
} }
} }
if _, ok := entry.Extended[s3_constants.AmzUserMetaMtime]; !ok {
doSaveMtime := true
if entry.Extended == nil {
entry.Extended = make(map[string][]byte)
} else if _, ok := entry.Extended[s3_constants.AmzUserMetaMtime]; ok {
doSaveMtime = false
}
if doSaveMtime {
entry.Extended[s3_constants.AmzUserMetaMtime] = []byte(strconv.FormatInt(entry.Attributes.Mtime, 10)) entry.Extended[s3_constants.AmzUserMetaMtime] = []byte(strconv.FormatInt(entry.Attributes.Mtime, 10))
} }
// process tagging // process tagging
tags := "" tags := ""
if true {
for k, v := range entry.Extended {
if len(tags) > 0 {
tags = tags + "&"
}
tags = tags + k + "=" + string(v)
for k, v := range entry.Extended {
if len(tags) > 0 {
tags = tags + "&"
} }
tags = tags + k + "=" + string(v)
} }
// Upload the file to S3. // Upload the file to S3.

Loading…
Cancel
Save