From ad8359c89d8902834f1250e7e8ff0724cb69bfc9 Mon Sep 17 00:00:00 2001 From: Catherine Date: Sat, 30 May 2026 14:31:55 +0000 Subject: [PATCH] [security] Actually check result of `appendNewAuditRecord`. Backport of commit 16505f6054439de18f5e2ab3745012e5c8672991. --- src/audit.go | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/src/audit.go b/src/audit.go index de0813e..6da0cf4 100644 --- a/src/audit.go +++ b/src/audit.go @@ -363,51 +363,61 @@ func notifyAudit(ctx context.Context, id AuditID) { func (audited *auditedBackend) CommitManifest( ctx context.Context, name string, manifest *Manifest, opts ModifyManifestOptions, -) (err error) { +) error { domain, project, ok := strings.Cut(name, "/") if !ok { panic("malformed manifest name") } - audited.appendNewAuditRecord(ctx, &AuditRecord{ + + if err := audited.appendNewAuditRecord(ctx, &AuditRecord{ Event: AuditEvent_CommitManifest.Enum(), Domain: proto.String(domain), Project: proto.String(project), Manifest: manifest, - }) + }); err != nil { + return err + } return audited.Backend.CommitManifest(ctx, name, manifest, opts) } func (audited *auditedBackend) DeleteManifest( ctx context.Context, name string, opts ModifyManifestOptions, -) (err error) { +) error { domain, project, ok := strings.Cut(name, "/") if !ok { panic("malformed manifest name") } - audited.appendNewAuditRecord(ctx, &AuditRecord{ + + if err := audited.appendNewAuditRecord(ctx, &AuditRecord{ Event: AuditEvent_DeleteManifest.Enum(), Domain: proto.String(domain), Project: proto.String(project), - }) + }); err != nil { + return err + } return audited.Backend.DeleteManifest(ctx, name, opts) } -func (audited *auditedBackend) FreezeDomain(ctx context.Context, domain string) (err error) { - audited.appendNewAuditRecord(ctx, &AuditRecord{ +func (audited *auditedBackend) FreezeDomain(ctx context.Context, domain string) error { + if err := audited.appendNewAuditRecord(ctx, &AuditRecord{ Event: AuditEvent_FreezeDomain.Enum(), Domain: proto.String(domain), - }) + }); err != nil { + return err + } return audited.Backend.FreezeDomain(ctx, domain) } -func (audited *auditedBackend) UnfreezeDomain(ctx context.Context, domain string) (err error) { - audited.appendNewAuditRecord(ctx, &AuditRecord{ +func (audited *auditedBackend) UnfreezeDomain(ctx context.Context, domain string) error { + if err := audited.appendNewAuditRecord(ctx, &AuditRecord{ Event: AuditEvent_UnfreezeDomain.Enum(), Domain: proto.String(domain), - }) + }); err != nil { + return err + } return audited.Backend.UnfreezeDomain(ctx, domain) }