diff --git a/decode.go b/decode.go index 587b6c6..25f4fbb 100644 --- a/decode.go +++ b/decode.go @@ -18,7 +18,12 @@ func GetVersion(s string) (version TcfVersion, err error) { } }() - b, err := base64.RawURLEncoding.DecodeString(s) + segments := strings.Split(s, ".") + if len(segments) == 0 { + return TcfVersionUndefined, err + } + + b, err := base64.RawURLEncoding.DecodeString(segments[0]) if err != nil { return TcfVersionUndefined, err } diff --git a/decode_test.go b/decode_test.go index 99d34dd..5e15498 100644 --- a/decode_test.go +++ b/decode_test.go @@ -15,7 +15,7 @@ func TestGetVersion(t *testing.T) { t.Errorf("Version should be %d", TcfVersion1) } - version, err = GetVersion("COxR03kOxR1CqBcABCENAgCMAP_AAH_AAAqIF3EXySoGY2thI2YVFxBEIYwfJxyigMgChgQIsSwNQIeFLBoGLiAAHBGYJAQAGBAEEACBAQIkHGBMCQAAgAgBiRCMQEGMCzNIBIBAggEbY0FACCVmHkHSmZCY7064O__QLuIJEFQMAkSBAIACLECIQwAQDiAAAYAlAAABAhIaAAgIWBQEeAAAACAwAAgAAABBAAACAAQAAICIAAABAAAgAiAQAAAAGgIQAACBABACRIAAAEANCAAgiCEAQg4EAo4AAA") + version, err = GetVersion("COy7f9HOy7f_1BcABBENAjCoAPKAAFKAAAqIDaQCQABAAVAAyACAAFoANQAkgEdANoA2kAYAAQAFQAMgAgABaAbQAUMAQAAEABUADIAIAAWgBJgDCAMQA9ACEAEdAKuAXUAwIBhADRAG0FAEQABAAVAAyACAAFoANQAkwBhAGIAegBCACOgFXALqAYEAwgBogDaDACIAAgAKgAZABAAC0AGoASYAwgDEAPQAhABHQCrgF1AMCAYQA0QBtCABEAAQAFQAMgAgABaADUAJMAYQBiAHoAQgAjoBVwC6gGBAMIAaIA2hQAiAAIACoAGQAQAAtABqAEmAMIAxAD0AIQAR0Aq4BdQDAgGEANEAbQA.cAAACAAAAUg") if err != nil { t.Errorf("Version should be decoded without error: %s", err) return