From 54682cfc8b4079aab588df5187d1ed806bf29c5f Mon Sep 17 00:00:00 2001 From: jwijenbergh Date: Mon, 17 Apr 2023 10:35:00 +0200 Subject: Exports: Do not crash on invalid wrapped errors --- exports/exports.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'exports') diff --git a/exports/exports.go b/exports/exports.go index a11c0fa..c09e980 100644 --- a/exports/exports.go +++ b/exports/exports.go @@ -44,8 +44,8 @@ import ( "unsafe" "github.com/eduvpn/eduvpn-common/internal/log" - "github.com/eduvpn/eduvpn-common/internal/server" "github.com/eduvpn/eduvpn-common/internal/oauth" + "github.com/eduvpn/eduvpn-common/internal/server" "github.com/go-errors/errors" "github.com/eduvpn/eduvpn-common/client" @@ -197,6 +197,11 @@ func getError(err error) *C.error { C.malloc(C.size_t(unsafe.Sizeof(C.error{}))), ) if err1, ok := err.(*errors.Error); ok { + if err1 == nil { + errorStruct.traceback = C.CString("N/A") + errorStruct.cause = C.CString("unknown error") + return errorStruct + } errorStruct.traceback = C.CString(err1.ErrorStack()) if err1.Err == nil { errorStruct.cause = C.CString(err1.Error()) -- cgit v1.2.3