Skip to content

Commit 310a64d

Browse files
committed
chore(pe): Report parser warnings in expvar
1 parent 01de00b commit 310a64d

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

pkg/pe/parser.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,18 @@ import (
2424
"errors"
2525
"expvar"
2626
"fmt"
27+
"os"
28+
"path/filepath"
29+
"strings"
30+
"time"
31+
2732
"github.com/rabbitstack/fibratus/pkg/sys"
2833
"github.com/rabbitstack/fibratus/pkg/util/format"
2934
"github.com/rabbitstack/fibratus/pkg/util/va"
3035
peparser "github.com/saferwall/pe"
3136
peparserlog "github.com/saferwall/pe/log"
3237
log "github.com/sirupsen/logrus"
3338
"golang.org/x/sys/windows"
34-
"os"
35-
"path/filepath"
36-
"strings"
37-
"time"
3839
)
3940

4041
var (
@@ -49,6 +50,7 @@ var (
4950
directoryParseErrors = expvar.NewInt("pe.directory.parse.errors")
5051
versionResourcesParseErrors = expvar.NewInt("pe.version.resources.parse.errors")
5152
imphashErrors = expvar.NewInt("pe.imphash.errors")
53+
parserWarnings = expvar.NewMap("pe.parser.warnings")
5254
)
5355

5456
type opts struct {
@@ -237,7 +239,7 @@ func (l Logger) Log(level peparserlog.Level, keyvals ...interface{}) error {
237239
case peparserlog.LevelInfo:
238240
log.Info(keyvals[1:]...)
239241
case peparserlog.LevelWarn:
240-
log.Warn(keyvals[1:]...)
242+
parserWarnings.Add(fmt.Sprintf("%s", keyvals[1:]), 1)
241243
case peparserlog.LevelError, peparserlog.LevelFatal:
242244
log.Error(keyvals[1:]...)
243245
default:

0 commit comments

Comments
 (0)