Sanitize user input in logs.

This commit is contained in:
Maximilian Paß
2022-02-03 14:54:22 +01:00
parent 4ffbb712ed
commit df68461264

View File

@@ -4,6 +4,7 @@ import (
"archive/tar" "archive/tar"
"bytes" "bytes"
"context" "context"
"encoding/base64"
"encoding/json" "encoding/json"
"errors" "errors"
"fmt" "fmt"
@@ -216,14 +217,16 @@ func createTarArchiveForFiles(filesToCopy []dto.File, w io.Writer) error {
if err := tarWriter.WriteHeader(tarHeader(file)); err != nil { if err := tarWriter.WriteHeader(tarHeader(file)); err != nil {
err := fmt.Errorf("error writing tar file header: %w", err) err := fmt.Errorf("error writing tar file header: %w", err)
log. log.
WithField("file", file). WithField("path", base64.StdEncoding.EncodeToString([]byte(file.Path))).
WithField("content", base64.StdEncoding.EncodeToString(file.Content)).
Error(err) Error(err)
return err return err
} }
if _, err := tarWriter.Write(file.ByteContent()); err != nil { if _, err := tarWriter.Write(file.ByteContent()); err != nil {
err := fmt.Errorf("error writing tar file content: %w", err) err := fmt.Errorf("error writing tar file content: %w", err)
log. log.
WithField("file", file). WithField("path", base64.StdEncoding.EncodeToString([]byte(file.Path))).
WithField("content", base64.StdEncoding.EncodeToString(file.Content)).
Error(err) Error(err)
return err return err
} }