Open arxeiss opened 2 years ago
try this command
contextcheck -pkgprefix=<your go.mod pkgname> ./...
golang-ci long time no release, 😢
Thank you, this works. However, contextcheck has no configuration in golangci-lint and we use that.
'pkgprefix' option is not need in golang-ci, it work for standalone cli only. new version released https://github.com/golangci/golangci-lint/releases/tag/v1.50.0
I'm testing golangci-int 1.50.0 with contextcheck and I have the same issue with the very same jwt library. Any advice?
I'm testing golangci-int 1.50.0 with contextcheck and I have the same issue with the very same jwt library. Any advice?
show me some code
So I upgraded to 1.50 and only change is, that error format is changed too:
golangci-lint run --timeout 2m0s ./...
identity/authorization.go:123:30: Function `verifyTokenFormat->ParseString->parseBytes->parse->Decrypt->parseJSONOrCompact->parseCompact->makeDummyRecipient` should pass the context parameter (contextcheck)
if err := verifyTokenFormat(sub.AccessToken); err != nil {
^
You can verify that with this repository https://github.com/indykite/jarvis-sdk-go It still uses 1.49 with ignoring the old message format: https://github.com/indykite/jarvis-sdk-go/blob/master/.golangci.yml#L145
I think the pkgpath filtering function is invalid..
it's a bug.
I'm not really sure. Because when I execute this contextcheck -pkgprefix="github.com/indykite/jarvis-sdk-go" ./...
I got no errors
I'm sure, because contextcheck -pkgprefix=xxx
is hard filter by xxx..
https://github.com/kkHAIKE/contextcheck/commit/d3358674bd75995fff87b452304d8761e5fa56a0
wait next golang-ci release...
I have some false positives on the code, which is not in my control. Can you stop analysis, if the error occurs in 3rd party libraries?
Example
This is source of
ParseString
, still does not accept context, but is already in 3rd party code: https://github.com/lestrrat-go/jwx/blob/develop/v2/jwt/jwt.go#L87And here is code of
parseBytes
which does not accept context, but has variable namedctx
. https://github.com/lestrrat-go/jwx/blob/develop/v2/jwt/jwt.go#L158Error
The code above is causing this issue