Steven Liu (12020-07-25): > fix ticket: 8814 > if get ".." in the url, check next byte and lead byte by double dot, > it there have no '/' and not root node, it is not used go to directory ".." > > Signed-off-by: Steven Liu <l...@chinaffmpeg.org> > --- > libavformat/url.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/libavformat/url.c b/libavformat/url.c > index 20463a6674..35f27fe3ca 100644 > --- a/libavformat/url.c > +++ b/libavformat/url.c > @@ -97,6 +97,18 @@ static void trim_double_dot_url(char *buf, const char > *rel, int size) > /* set new current position if the root node is changed */ > p = root; > while (p && (node = strstr(p, ".."))) {
> + if (strlen(node) > 2 && node[2] != '/') { I have not yet looked at the whole patch, but this strlen() test is useless. And I think you would better rework the complete logic of the test: strstring ".." is a broken method. > + node = strstr(node + 1, ".."); > + if (!node) > + break; > + } > + > + if (p != node && p[node - p - 1] != '/') { > + node = strstr(node + 1, ".."); > + if (!node) > + break; > + } > + > av_strlcat(tmp_path, p, node - p + strlen(tmp_path)); > p = node + 3; > sep = strrchr(tmp_path, '/'); Regards, -- Nicolas George
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".