[FFmpeg-trac] #8016(undetermined:new): ismindex doesn't handle input filenames or urls containing '&' characters correctly.
FFmpeg
trac at avcodec.org
Sat Jul 13 11:53:41 EEST 2019
#8016: ismindex doesn't handle input filenames or urls containing '&' characters
correctly.
--------------------------------------+----------------------------------
Reporter: jsyrjala | Type: defect
Status: new | Priority: normal
Component: undetermined | Version: 4.1
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
--------------------------------------+----------------------------------
`ismindex` doesn't handle input filenames or urls containing `&`
characters correctly.
Running command:
{{{
ismindex -n foobar 'foo&bar.ismv'
}}}
Creates this 'foobar.ism' file with following contents:
{{{
<?xml version="1.0" encoding="utf-8"?>
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
<head>
<meta name="clientManifestRelativePath"
content="foobar.ismc" />
</head>
<body>
<switch>
<video src="foo&bar.ismv" systemBitrate="307228">
<param name="trackID" value="1"
valueType="data" />
</video>
</switch>
</body>
</smil>
}}}
Notice `src="foo&bar.ismv"` in `<video>` tag. This is not valid XML. `&`
and some other characters should be escaped.
See: https://stackoverflow.com/questions/5709232/how-do-i-include-etc-in-
xml-attribute-values
So the value should be `src="foo&bar.ism"` according to XML
specification.
This causes issues in real world apps when you are using URLs as input.
For example this kind of command would also create invalid `.ism` file.
{{{
ismindex -n foobar https://example.com/something?file=foobar&type=ismv
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/8016>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list