mirror of
https://github.com/hashicorp/vault.git
synced 2025-08-24 16:11:08 +02:00
19 lines
479 B
Go
19 lines
479 B
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: BUSL-1.1
|
|
|
|
package parsing
|
|
|
|
import "encoding/asn1"
|
|
|
|
// Asn1UnmarshallNoTrailing is a wrapper around asn1.Unmarshal that ensures there
|
|
// is no trailing data in the input returning an error if there is.
|
|
func Asn1UnmarshallNoTrailing(b []byte, val any) error {
|
|
rest, err := asn1.Unmarshal(b, val)
|
|
if err != nil {
|
|
return err
|
|
} else if len(rest) != 0 {
|
|
return asn1.SyntaxError{Msg: "trailing data"}
|
|
}
|
|
return nil
|
|
}
|