archive/tar: reject bad key-value pairs for PAX records
We forbid empty keys or keys with '=' because it leads to ambiguous parsing. Relevent PAX specification: <<< A keyword shall not include an <equals-sign>. > > Also, we forbid the writer from encoding records with an empty value. > While, this is a valid record syntactically, the semantics of an empty > value is that previous records with that key should be deleted. > Since we have no support (and probably never will) for global PAX records, > deletion is a non-sensible operation. > <<< > If the <value> field is zero length, > it shall delete any header block field, > previously entered extended header value, > or global extended header value of the same name. Fixes #20698 Fixes #15567 Change-Id: Ia29c5c6ef2e36cd9e6d7f6cff10e92b96a62f0d1 Reviewed-on: https://go-review.googlesource.com/55571Reviewed-by: Ian Lance Taylor <iant@golang.org>
Showing
Please register or sign in to comment