summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDarren Salt <linux@youmustbejoking.demon.co.uk>2006-05-31 20:58:22 +0000
committerDarren Salt <linux@youmustbejoking.demon.co.uk>2006-05-31 20:58:22 +0000
commit5b34e10f9aae48097830af4a8b394f39f94fcdfd (patch)
tree8884825df2477c75573a689281d8974666f4e302 /src
parente237df6bb9cb1f507a84ee30eae7604612086e3f (diff)
downloadxine-lib-5b34e10f9aae48097830af4a8b394f39f94fcdfd.tar.gz
xine-lib-5b34e10f9aae48097830af4a8b394f39f94fcdfd.tar.bz2
HTTP input: buffer overflow fix. (Diego Pettenò) (CVE-2006-2802)
CVS patchset: 8001 CVS date: 2006/05/31 20:58:22
Diffstat (limited to 'src')
-rw-r--r--src/input/input_http.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/input/input_http.c b/src/input/input_http.c
index 3c9e1e5d7..89883c347 100644
--- a/src/input/input_http.c
+++ b/src/input/input_http.c
@@ -19,7 +19,7 @@
*
* input plugin for http network streams
*
- * $Id: input_http.c,v 1.114 2006/05/03 19:46:07 dsalt Exp $
+ * $Id: input_http.c,v 1.115 2006/05/31 20:58:22 dsalt Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -895,6 +895,12 @@ static int http_plugin_open (input_plugin_t *this_gen ) {
len = 0;
} else
len ++;
+ if ( len >= buflen ) {
+ _x_message(this->stream, XINE_MSG_PERMISSION_ERROR, this->mrl, NULL);
+ xine_log (this->stream->xine, XINE_LOG_MSG,
+ _("input_http: buffer exahuested after %d bytes."), buflen);
+ return 0;
+ }
}
lprintf ("end of headers\n");