aboutsummaryrefslogtreecommitdiff
path: root/multimedia
diff options
context:
space:
mode:
authorJacques Vidrine <nectar@FreeBSD.org>2004-08-25 13:39:34 +0000
committerJacques Vidrine <nectar@FreeBSD.org>2004-08-25 13:39:34 +0000
commitfbcc079ed9f792c3a591d986f8e5b7bf8ee19750 (patch)
treebb778df25a3d3e328a55de66d19eb5be9d37b62f /multimedia
parent6779736363c60a236b82bb8dc2e7fd54d196b9f7 (diff)
Notes
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/libxine/Makefile2
-rw-r--r--multimedia/libxine/files/patch-src:input:vcd:xineplug_inp_vcd.c55
2 files changed, 56 insertions, 1 deletions
diff --git a/multimedia/libxine/Makefile b/multimedia/libxine/Makefile
index 63e446839167..33c0d8870e7d 100644
--- a/multimedia/libxine/Makefile
+++ b/multimedia/libxine/Makefile
@@ -7,7 +7,7 @@
PORTNAME= xine
PORTVERSION= 1.0.r5
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= multimedia
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME}
diff --git a/multimedia/libxine/files/patch-src:input:vcd:xineplug_inp_vcd.c b/multimedia/libxine/files/patch-src:input:vcd:xineplug_inp_vcd.c
new file mode 100644
index 000000000000..0640ebdca1fa
--- /dev/null
+++ b/multimedia/libxine/files/patch-src:input:vcd:xineplug_inp_vcd.c
@@ -0,0 +1,55 @@
+--- src/input/vcd/xineplug_inp_vcd.c 2004/04/28 10:41:46 1.108
++++ src/input/vcd/xineplug_inp_vcd.c 2004/07/18 14:47:21 1.109
+@@ -48,6 +48,7 @@
+ #define SHORT_PLUGIN_NAME "VCDX"
+ #define MRL_PREFIX "vcdx://"
+ #define MRL_PREFIX_LEN strlen(MRL_PREFIX)
++#define MRL_MAX_LEN 1024
+
+ #define xine_config_entry_t xine_cfg_entry_t
+
+@@ -465,7 +466,7 @@
+ return false;
+ }
+
+- count = sscanf (p, "%[^@]@%1[EePpSsTt]%u",
++ count = sscanf (p, "%1024[^@]@%1[EePpSsTt]%u",
+ device_str, type_str, &num);
+ itemid->num = num;
+
+@@ -489,7 +490,7 @@
+ {
+ /* No device/file given, so use the default device and try again. */
+ if (NULL == default_vcd_device) return false;
+- strcpy(device_str, default_vcd_device);
++ strncpy(device_str, default_vcd_device, MRL_MAX_LEN);
+ if (p[0] == '@') p++;
+ count = sscanf (p, "%1[EePpSsTt]%u", type_str, &num);
+ type_str[0] = toupper(type_str[0]);
+@@ -781,7 +782,7 @@
+ vcd_class_get_dir (input_class_t *this_gen, const char *filename,
+ int *num_files) {
+
+- char intended_vcd_device[1024]="";
++ char intended_vcd_device[MRL_MAX_LEN+1]="";
+ vcdinfo_itemid_t itemid;
+
+ vcd_input_class_t *class = (vcd_input_class_t *) this_gen;
+@@ -913,7 +914,7 @@
+ static char *
+ vcd_class_get_identifier (input_class_t *this_gen) {
+ dbg_print((INPUT_DBG_CALL|INPUT_DBG_EXT), "called\n");
+- return SHORT_PLUGIN_NAME;
++ return strdup(SHORT_PLUGIN_NAME);
+ }
+
+ /*
+@@ -1425,7 +1426,7 @@
+ {
+ vcd_input_class_t *class = (vcd_input_class_t *) class_gen;
+
+- char intended_vcd_device[1024]="";
++ char intended_vcd_device[MRL_MAX_LEN+1]="";
+ vcdinfo_itemid_t itemid;
+ char *check_mrl=NULL;
+ bool used_default;