Message ID | 20200727121457.7500-2-josef@pex.com |
---|---|
State | Superseded |
Headers | show |
Series | [FFmpeg-devel,v2,1/2] avformat/url: fix logic for removing ".." path components | expand |
Context | Check | Description |
---|---|---|
andriy/default | pending | |
andriy/make | success | Make finished |
andriy/make_fate | success | Make fate finished |
Josef Zlomek <josef@pex.com> 于2020年7月27日周一 下午8:15写道: > > Signed-off-by: Josef Zlomek <josef@pex.com> > --- > libavformat/tests/url.c | 6 ++++++ > tests/ref/fate/url | 6 ++++++ > 2 files changed, 12 insertions(+) > > diff --git a/libavformat/tests/url.c b/libavformat/tests/url.c > index 1d961a1b43..a27a875892 100644 > --- a/libavformat/tests/url.c > +++ b/libavformat/tests/url.c > @@ -57,6 +57,8 @@ int main(void) > test("/foo/bar", "../baz"); > test("/foo/bar", "/baz"); > test("/foo/bar", "../../../baz"); > + test("/foo/bar", ".."); > + test("/foo/bar/baz", ".."); > test("http://server/foo/", "baz"); > test("http://server/foo/bar", "baz"); > test("http://server/foo/", "../baz"); > @@ -67,6 +69,10 @@ int main(void) > test("http://server/foo/bar?param&otherparam", "?someparam"); > test("http://server/foo/bar", "//other/url"); > test("http://server/foo/bar", "../../../../../other/url"); > + test("http://server/foo/bar", "a/b/../c/d/../e../..f/.../other/url/test..mp3"); > + test("http://server/foo/bar", "/a/b/../c/d/../e../..f/.../other/url/test..mp3"); > + test("http://server/foo/bar", "a/b/../c/d/../e../..f/.../other/url/.."); > + test("http://server/foo/bar", "a/b/../c/d/../e../..f/.../other/url/"); > test("http://server/foo/bar", "/../../../../../other/url"); > test("http://server/foo/bar", "/test/../../../../../other/url"); > test("http://server/foo/bar", "/test/../../test/../../../other/url"); > diff --git a/tests/ref/fate/url b/tests/ref/fate/url > index 533ba2cb1e..aa53e09fab 100644 > --- a/tests/ref/fate/url > +++ b/tests/ref/fate/url > @@ -4,6 +4,8 @@ Testing ff_make_absolute_url: > /foo/bar ../baz => /baz > /foo/bar /baz => /baz > /foo/bar ../../../baz => /baz > + /foo/bar .. => / > + /foo/bar/baz .. => /foo/ > http://server/foo/ baz => http://server/foo/baz > http://server/foo/bar baz => http://server/foo/baz > http://server/foo/ ../baz => http://server/baz > @@ -14,6 +16,10 @@ Testing ff_make_absolute_url: > http://server/foo/bar?param&otherparam ?someparam => http://server/foo/bar?someparam > http://server/foo/bar //other/url => http://other/url > http://server/foo/bar ../../../../../other/url => http://server/other/url > + http://server/foo/bar a/b/../c/d/../e../..f/.../other/url/test..mp3 => http://server/foo/a/c/e../..f/.../other/url/test..mp3 > + http://server/foo/bar /a/b/../c/d/../e../..f/.../other/url/test..mp3 => http://server/a/c/e../..f/.../other/url/test..mp3 > + http://server/foo/bar a/b/../c/d/../e../..f/.../other/url/.. => http://server/foo/a/c/e../..f/.../other/ > + http://server/foo/bar a/b/../c/d/../e../..f/.../other/url/ => http://server/foo/a/c/e../..f/.../other/url/ > http://server/foo/bar /../../../../../other/url => http://server/other/url > http://server/foo/bar /test/../../../../../other/url => http://server/other/url > http://server/foo/bar /test/../../test/../../../other/url => http://server/other/url > -- > 2.17.1 > Patchiest LGTM, Will apply after 24 hours if no objections. Thanks Steven
Steven Liu (12020-07-28):
> Will apply after 24 hours if no objections.
Please give me time to look at it carefully.
Regards,
diff --git a/libavformat/tests/url.c b/libavformat/tests/url.c index 1d961a1b43..a27a875892 100644 --- a/libavformat/tests/url.c +++ b/libavformat/tests/url.c @@ -57,6 +57,8 @@ int main(void) test("/foo/bar", "../baz"); test("/foo/bar", "/baz"); test("/foo/bar", "../../../baz"); + test("/foo/bar", ".."); + test("/foo/bar/baz", ".."); test("http://server/foo/", "baz"); test("http://server/foo/bar", "baz"); test("http://server/foo/", "../baz"); @@ -67,6 +69,10 @@ int main(void) test("http://server/foo/bar?param&otherparam", "?someparam"); test("http://server/foo/bar", "//other/url"); test("http://server/foo/bar", "../../../../../other/url"); + test("http://server/foo/bar", "a/b/../c/d/../e../..f/.../other/url/test..mp3"); + test("http://server/foo/bar", "/a/b/../c/d/../e../..f/.../other/url/test..mp3"); + test("http://server/foo/bar", "a/b/../c/d/../e../..f/.../other/url/.."); + test("http://server/foo/bar", "a/b/../c/d/../e../..f/.../other/url/"); test("http://server/foo/bar", "/../../../../../other/url"); test("http://server/foo/bar", "/test/../../../../../other/url"); test("http://server/foo/bar", "/test/../../test/../../../other/url"); diff --git a/tests/ref/fate/url b/tests/ref/fate/url index 533ba2cb1e..aa53e09fab 100644 --- a/tests/ref/fate/url +++ b/tests/ref/fate/url @@ -4,6 +4,8 @@ Testing ff_make_absolute_url: /foo/bar ../baz => /baz /foo/bar /baz => /baz /foo/bar ../../../baz => /baz + /foo/bar .. => / + /foo/bar/baz .. => /foo/ http://server/foo/ baz => http://server/foo/baz http://server/foo/bar baz => http://server/foo/baz http://server/foo/ ../baz => http://server/baz @@ -14,6 +16,10 @@ Testing ff_make_absolute_url: http://server/foo/bar?param&otherparam ?someparam => http://server/foo/bar?someparam http://server/foo/bar //other/url => http://other/url http://server/foo/bar ../../../../../other/url => http://server/other/url + http://server/foo/bar a/b/../c/d/../e../..f/.../other/url/test..mp3 => http://server/foo/a/c/e../..f/.../other/url/test..mp3 + http://server/foo/bar /a/b/../c/d/../e../..f/.../other/url/test..mp3 => http://server/a/c/e../..f/.../other/url/test..mp3 + http://server/foo/bar a/b/../c/d/../e../..f/.../other/url/.. => http://server/foo/a/c/e../..f/.../other/ + http://server/foo/bar a/b/../c/d/../e../..f/.../other/url/ => http://server/foo/a/c/e../..f/.../other/url/ http://server/foo/bar /../../../../../other/url => http://server/other/url http://server/foo/bar /test/../../../../../other/url => http://server/other/url http://server/foo/bar /test/../../test/../../../other/url => http://server/other/url
Signed-off-by: Josef Zlomek <josef@pex.com> --- libavformat/tests/url.c | 6 ++++++ tests/ref/fate/url | 6 ++++++ 2 files changed, 12 insertions(+)