mime: Parse/Format corrupt parameters (original) (raw)

The following program fails with the panic:

package main

import ( "mime" "fmt" )

func main() { sdata := "0/0;0*=0" mt, params, err := mime.ParseMediaType(sdata) if err != nil { return } sdata1 := mime.FormatMediaType(mt, params) _, _, err = mime.ParseMediaType(sdata1) if err != nil { fmt.Printf("%q(%q, %+v) -> %q\n", sdata, mt, params, sdata1) panic(err) } }

"0/0;0*=0"("0/0", map[0:]) -> "0/0; 0=\"\""
panic: mime: invalid media parameter

Either Format/Parse must preserve parameters, or if that's incorrect input the first Parse must fail.

go version devel +514014c Thu Jun 18 15:54:35 2015 +0200 linux/amd64