Skip to content
This repository was archived by the owner on May 2, 2025. It is now read-only.

Commit e78b749

Browse files
committed
Do not lookup from errToCode map when error is of type slice.
Closes #631.
1 parent 651b572 commit e78b749

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

internal/api/helpers/errors.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package helpers
22

33
import (
4+
"reflect"
5+
46
"github.com/pkg/errors"
57
"google.golang.org/grpc"
68
"google.golang.org/grpc/codes"
@@ -45,6 +47,13 @@ func ErrToRPCError(err error) error {
4547
return cause
4648
}
4749

50+
// Some error values (error returned by Otto) can not be hashed:
51+
// https://github.com/brocaar/chirpstack-application-server/issues/631
52+
k := reflect.TypeOf(cause).Kind()
53+
if k == reflect.Slice {
54+
return grpc.Errorf(codes.Unknown, cause.Error())
55+
}
56+
4857
code, ok := errToCode[cause]
4958
if !ok {
5059
code = codes.Unknown

0 commit comments

Comments
 (0)