diff options
author | wm4 <wm4@nowhere> | 2014-02-03 22:09:20 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2014-02-12 22:31:54 +0100 |
commit | 95a72baf9208d855252bac9f57b95457f825472f (patch) | |
tree | 61d7cc18a9f6e0a80df00590a1ebcc35c37cd964 /demux/mf.c | |
parent | 48112a74ed345940c8a8381b3df7f874b111b181 (diff) | |
download | mpv-95a72baf9208d855252bac9f57b95457f825472f.tar.bz2 mpv-95a72baf9208d855252bac9f57b95457f825472f.tar.xz |
mf: don't limit filename length with PATH_MAX
Use an arbitrary constant instead, which is as good as PATH_MAX.
This helps us to avoid having to think about pull request #523.
Also fix a case where a potentially signed char was passed to isspace().
Diffstat (limited to 'demux/mf.c')
-rw-r--r-- | demux/mf.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/demux/mf.c b/demux/mf.c index 0aabd46bb8..b538943aff 100644 --- a/demux/mf.c +++ b/demux/mf.c @@ -64,11 +64,11 @@ mf_t *open_mf_pattern(void *talloc_ctx, struct mp_log *log, char *filename) if (filename[0] == '@') { FILE *lst_f = fopen(filename + 1, "r"); if (lst_f) { - char *fname = talloc_size(mf, MP_PATH_MAX); - while (fgets(fname, MP_PATH_MAX, lst_f)) { + char *fname = talloc_size(mf, 512); + while (fgets(fname, 512, lst_f)) { /* remove spaces from end of fname */ char *t = fname + strlen(fname) - 1; - while (t > fname && isspace(*t)) + while (t > fname && isspace((unsigned char)*t)) *(t--) = 0; if (!mp_path_exists(fname)) { mp_verbose(log, "file not found: '%s'\n", fname); |