summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2004-04-24 16:55:42 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2004-04-24 16:55:42 +0000
commita6946db794f2e51fbf7dfe24fe879dc683bc0eb2 (patch)
tree20170c5d57b697040c056dd875675c33b79f9d35
parent2356ae283bed53aca469d6dd25ccc3befaf6cb13 (diff)
downloadxine-lib-a6946db794f2e51fbf7dfe24fe879dc683bc0eb2.tar.gz
xine-lib-a6946db794f2e51fbf7dfe24fe879dc683bc0eb2.tar.bz2
more bounds checking fixes (thanks Roberto Togni)
CVS patchset: 6431 CVS date: 2004/04/24 16:55:42
-rw-r--r--src/input/libreal/real.c14
-rw-r--r--src/input/libreal/real.h6
-rw-r--r--src/input/librtsp/rtsp_session.c2
3 files changed, 11 insertions, 11 deletions
diff --git a/src/input/libreal/real.c b/src/input/libreal/real.c
index c3b70b6a5..2d05058a7 100644
--- a/src/input/libreal/real.c
+++ b/src/input/libreal/real.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: real.c,v 1.16 2004/04/23 21:59:04 miguelfreitas Exp $
+ * $Id: real.c,v 1.17 2004/04/24 16:55:42 miguelfreitas Exp $
*
* special functions for real streams.
* adopted from joschkas real tools.
@@ -441,7 +441,7 @@ static int select_mlti_data(const char *mlti_chunk, int mlti_size, int selection
* looking at stream description.
*/
-rmff_header_t *real_parse_sdp(char *data, char *stream_rules, uint32_t bandwidth) {
+rmff_header_t *real_parse_sdp(char *data, char **stream_rules, uint32_t bandwidth) {
sdpplin_t *desc;
rmff_header_t *header;
@@ -486,7 +486,7 @@ rmff_header_t *real_parse_sdp(char *data, char *stream_rules, uint32_t bandwidth
for (j=0; j<n; j++) {
lprintf("asmrp rule match: %u for stream %u\n", rulematches[j], desc->stream[i]->stream_id);
sprintf(b,"stream=%u;rule=%u,", desc->stream[i]->stream_id, rulematches[j]);
- xine_buffer_strcat(stream_rules, b);
+ xine_buffer_strcat(*stream_rules, b);
}
if (!desc->stream[i]->mlti_data) return NULL;
@@ -517,8 +517,8 @@ rmff_header_t *real_parse_sdp(char *data, char *stream_rules, uint32_t bandwidth
avg_packet_size=desc->stream[i]->avg_packet_size;
}
- if (stream_rules && strlen(stream_rules) && stream_rules[strlen(stream_rules)-1] == ',')
- stream_rules[strlen(stream_rules)-1]=0; /* delete last ',' in stream_rules */
+ if (*stream_rules && strlen(*stream_rules) && (*stream_rules)[strlen(*stream_rules)-1] == ',')
+ (*stream_rules)[strlen(*stream_rules)-1]=0; /* delete last ',' in stream_rules */
header->prop=rmff_new_prop(
max_bit_rate,
@@ -539,7 +539,7 @@ rmff_header_t *real_parse_sdp(char *data, char *stream_rules, uint32_t bandwidth
return header;
}
-int real_get_rdt_chunk(rtsp_t *rtsp_session, char **buffer) {
+int real_get_rdt_chunk(rtsp_t *rtsp_session, unsigned char **buffer) {
int n=1;
uint8_t header[8];
@@ -667,7 +667,7 @@ rmff_header_t *real_setup_and_get_header(rtsp_t *rtsp_session, uint32_t bandwid
/* parse sdp (sdpplin) and create a header and a subscribe string */
subscribe=xine_buffer_init(256);
strcpy(subscribe, "Subscribe: ");
- h=real_parse_sdp(description, subscribe, bandwidth);
+ h=real_parse_sdp(description, &subscribe, bandwidth);
if (!h) {
xine_buffer_free(subscribe);
xine_buffer_free(buf);
diff --git a/src/input/libreal/real.h b/src/input/libreal/real.h
index 3cdf6fe01..ef9778dbc 100644
--- a/src/input/libreal/real.h
+++ b/src/input/libreal/real.h
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: real.h,v 1.4 2004/04/23 21:59:04 miguelfreitas Exp $
+ * $Id: real.h,v 1.5 2004/04/24 16:55:42 miguelfreitas Exp $
*
* special functions for real streams.
* adopted from joschkas real tools.
@@ -41,8 +41,8 @@
* (RealChallenge1 in rtsp). See implementation for details.
*/
void real_calc_response_and_checksum (char *response, char *chksum, char *challenge);
-int real_get_rdt_chunk(rtsp_t *rtsp_session, char **buffer);
-rmff_header_t *real_parse_sdp(char *data, char *stream_rules, uint32_t bandwidth);
+int real_get_rdt_chunk(rtsp_t *rtsp_session, unsigned char **buffer);
+rmff_header_t *real_parse_sdp(char *data, char **stream_rules, uint32_t bandwidth);
rmff_header_t *real_setup_and_get_header(rtsp_t *rtsp_session, uint32_t bandwidth);
#endif
diff --git a/src/input/librtsp/rtsp_session.c b/src/input/librtsp/rtsp_session.c
index a6bcfe370..6f06693a9 100644
--- a/src/input/librtsp/rtsp_session.c
+++ b/src/input/librtsp/rtsp_session.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: rtsp_session.c,v 1.15 2004/04/23 21:59:04 miguelfreitas Exp $
+ * $Id: rtsp_session.c,v 1.16 2004/04/24 16:55:42 miguelfreitas Exp $
*
* high level interface to rtsp servers.
*/