summaryrefslogtreecommitdiff
path: root/libavformat/http.c
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2007-02-28 03:28:31 +0000
committerLuca Barbato <lu_zero@gentoo.org>2007-02-28 03:28:31 +0000
commitbb0eb714bd8343dfc69857914b99ccd3438430bf (patch)
tree7eae00cbd335b85068f201283c3e3ad91cdab47f /libavformat/http.c
parentc2a29455e348f136043a0b3a23637924413180dc (diff)
get_packetheader() forgot to read the header_checksum in big packets
patch from Clemens Ladisch cladisch AT fastmail dot net (stray base64 patch reverted in the next commits) Originally committed as revision 8156 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/http.c')
-rw-r--r--libavformat/http.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libavformat/http.c b/libavformat/http.c
index 1284c31de8..da619bbd95 100644
--- a/libavformat/http.c
+++ b/libavformat/http.c
@@ -206,14 +206,17 @@ static int http_connect(URLContext *h, const char *path, const char *hoststr,
HTTPContext *s = h->priv_data;
int post, err, ch;
char line[1024], *q;
- char *auth_b64;
+ char *auth_b64 = av_malloc(strlen(auth) * 4 / 3 + 12);
offset_t off = s->off;
+ if (auth_b64 == NULL) return AVERROR(ENOMEM);
/* send http header */
post = h->flags & URL_WRONLY;
- auth_b64 = av_base64_encode((uint8_t *)auth, strlen(auth));
+ auth_b64 = av_base64_encode(auth_b64, strlen(auth) * 4 / 3 + 12,
+ (uint8_t *)auth, strlen(auth));
+
snprintf(s->buffer, sizeof(s->buffer),
"%s %s HTTP/1.1\r\n"
"User-Agent: %s\r\n"