summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@users.sourceforge.net>2003-07-21 19:28:05 +0000
committerBastien Nocera <hadess@users.sourceforge.net>2003-07-21 19:28:05 +0000
commit5ee33c056c4d7e4b68412700edc0ab758a40a7ca (patch)
tree0bb7b0bfc8add2f9e779ed59ae9323b1bb131565
parent5d7c8a5888c345c4a43fd5f18d14b2eab9d6fb6c (diff)
downloadxine-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.c12
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';
}