Skip to content

Commit e834bd8

Browse files
fix(config): Pointer safety check
1 parent 665b401 commit e834bd8

2 files changed

Lines changed: 11 additions & 6 deletions

File tree

config/getenv.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ func GetEnv[T valueparser.ParsableType](
2323
required bool,
2424
log *logrus.Entry,
2525
) T {
26-
safetyCheck(log)
26+
safetyCheck(&log)
2727

2828
if log == nil {
2929
log = logrus.NewEntry(logrus.StandardLogger())
@@ -63,7 +63,7 @@ func GetEnvArray[T valueparser.ParsableType](
6363
required bool,
6464
log *logrus.Entry,
6565
) []T {
66-
safetyCheck(log)
66+
safetyCheck(&log)
6767

6868
if separator == nil {
6969
separator = new(string)
@@ -111,7 +111,7 @@ func GetEnvMap[K valueparser.ParsableComparableType, V valueparser.ParsableType]
111111
kvSeparator *string,
112112
log *logrus.Entry,
113113
) map[K]V {
114-
safetyCheck(log)
114+
safetyCheck(&log)
115115

116116
if value, exists := os.LookupEnv(key); exists {
117117
result := make(map[K]V)

config/utils.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,15 @@ import (
66

77
// safetyCheck ensures that the logger is not nil before performing any operations.
88
// If the logger is nil, it initializes a new logger and logs a warning message.
9-
func safetyCheck(log *logrus.Entry) {
9+
func safetyCheck(log **logrus.Entry) {
1010
if log == nil {
11-
log = logrus.NewEntry(logrus.StandardLogger())
11+
return
12+
}
13+
14+
if *log == nil {
15+
*log = logrus.NewEntry(logrus.StandardLogger())
16+
17+
(*log).Warn("Logger is nil, using default logger")
1218

13-
log.Warn("Logger is nil, using default logger")
1419
}
1520
}

0 commit comments

Comments
 (0)