summaryrefslogtreecommitdiffstats
path: root/stream/stream_libarchive.c
diff options
context:
space:
mode:
Diffstat (limited to 'stream/stream_libarchive.c')
-rw-r--r--stream/stream_libarchive.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/stream/stream_libarchive.c b/stream/stream_libarchive.c
index e3109dfb0a..2e300f3747 100644
--- a/stream/stream_libarchive.c
+++ b/stream/stream_libarchive.c
@@ -485,7 +485,9 @@ static int archive_entry_open(stream_t *stream)
char *base = talloc_strdup(p, stream->path);
char *name = strchr(base, '|');
*name++ = '\0';
- p->entry_name = name;
+ if (name[0] != '/')
+ return STREAM_ERROR;
+ p->entry_name = name + 1;
mp_url_unescape_inplace(base);
p->src = stream_create(base, STREAM_READ | STREAM_SAFE_ONLY,