From 6954638864781ed4277c800d017119c5c100d3f2 Mon Sep 17 00:00:00 2001 From: Cedric Staub Date: Tue, 26 Jun 2018 11:43:49 -0700 Subject: [PATCH] Fix panic on null (but present) header key --- jwe_test.go | 6 ++++++ shared.go | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/jwe_test.go b/jwe_test.go index dc772af..1ada725 100644 --- a/jwe_test.go +++ b/jwe_test.go @@ -541,3 +541,9 @@ func TestSampleJose4jJWEMessagesECDH(t *testing.T) { } } } + +func TestJWEWithNullAlg(t *testing.T) { + // {"alg":null,"enc":"A128GCM"} + serialized := `{"protected":"eyJhbGciOm51bGwsImVuYyI6IkExMjhHQ00ifQ"}` + ParseEncrypted(serialized) +} diff --git a/shared.go b/shared.go index e6ab91d..bbce43f 100644 --- a/shared.go +++ b/shared.go @@ -206,7 +206,7 @@ func (parsed rawHeader) set(k HeaderKey, v interface{}) error { // getString gets a string from the raw JSON, defaulting to "". func (parsed rawHeader) getString(k HeaderKey) string { v, ok := parsed[k] - if !ok { + if !ok || v == nil { return "" } var s string