summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmpdemux/realrtsp/rtsp.c3
-rw-r--r--libmpdemux/realrtsp/sdpplin.c4
2 files changed, 4 insertions, 3 deletions
diff --git a/libmpdemux/realrtsp/rtsp.c b/libmpdemux/realrtsp/rtsp.c
index 708e8729aa..6247ca1baa 100644
--- a/libmpdemux/realrtsp/rtsp.c
+++ b/libmpdemux/realrtsp/rtsp.c
@@ -272,10 +272,11 @@ static void hexdump (char *buf, int length) {
static char *rtsp_get(rtsp_t *s) {
- int n=0;
+ int n=1;
char *buffer = malloc(BUF_SIZE);
char *string = NULL;
+ read_stream(s->s, buffer, 1);
while (n<BUF_SIZE) {
read_stream(s->s, &(buffer[n]), 1);
if ((buffer[n-1]==0x0d)&&(buffer[n]==0x0a)) break;
diff --git a/libmpdemux/realrtsp/sdpplin.c b/libmpdemux/realrtsp/sdpplin.c
index 229f4a0e68..ff9246a9e7 100644
--- a/libmpdemux/realrtsp/sdpplin.c
+++ b/libmpdemux/realrtsp/sdpplin.c
@@ -84,12 +84,12 @@ static char *b64_decode(const char *in, char *out, int *size)
out[k++] = (b[2] << 6) | b[3];
i = a[2] == '=' ? 1 : (a[3] == '=' ? 2 : 3);
if (i < 3) {
- out[k]=0;
+ out[k - 1]=0;
*size=k;
return out;
}
}
- out[k]=0;
+ out[k - 1]=0;
*size=k;
return out;
}