diff options
author | Bastien Nocera <hadess@users.sourceforge.net> | 2003-07-21 19:28:05 +0000 |
---|---|---|
committer | Bastien Nocera <hadess@users.sourceforge.net> | 2003-07-21 19:28:05 +0000 |
commit | 5ee33c056c4d7e4b68412700edc0ab758a40a7ca (patch) | |
tree | 0bb7b0bfc8add2f9e779ed59ae9323b1bb131565 | |
parent | 5d7c8a5888c345c4a43fd5f18d14b2eab9d6fb6c (diff) | |
download | xine-lib-5ee33c056c4d7e4b68412700edc0ab758a40a7ca.tar.gz xine-lib-5ee33c056c4d7e4b68412700edc0ab758a40a7ca.tar.bz2 |
- don't crash if we don't have a base MRL for the reference MRL
CVS patchset: 5205
CVS date: 2003/07/21 19:28:05
-rw-r--r-- | src/demuxers/demux_qt.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/demuxers/demux_qt.c b/src/demuxers/demux_qt.c index 5470fa558..e1efc0578 100644 --- a/src/demuxers/demux_qt.c +++ b/src/demuxers/demux_qt.c @@ -30,7 +30,7 @@ * build_frame_table * free_qt_info * - * $Id: demux_qt.c,v 1.162 2003/06/29 01:38:57 hadess Exp $ + * $Id: demux_qt.c,v 1.163 2003/07/21 19:28:05 hadess Exp $ * */ @@ -1404,11 +1404,17 @@ static qt_error parse_reference_atom (reference_t *ref, } else { - int string_size = strlen(base_mrl) + BE_32(&ref_atom[i + 12]) + 1; + int string_size; + + if (base_mrl) + string_size = strlen(base_mrl) + BE_32(&ref_atom[i + 12]) + 1; + else + string_size = BE_32(&ref_atom[i + 12]) + 1; /* otherwise, append relative URL to base MRL */ ref->url = xine_xmalloc(string_size); - strcpy(ref->url, base_mrl); + if (base_mrl) + strcpy(ref->url, base_mrl); strncat(ref->url, &ref_atom[i + 16], BE_32(&ref_atom[i + 12])); ref->url[string_size - 1] = '\0'; } |