From: RĂ©mi Denis-Courmont Date: Fri, 26 Mar 2010 17:31:12 +0000 (+0200) Subject: decomp: handle memory error X-Git-Tag: 1.1.0-pre1~302 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=072b0670800c6c9ab9d9f644c43c9220931601bd;p=vlc decomp: handle memory error --- diff --git a/modules/stream_filter/decomp.c b/modules/stream_filter/decomp.c index 6ec32da056..b300fa9469 100644 --- a/modules/stream_filter/decomp.c +++ b/modules/stream_filter/decomp.c @@ -95,7 +95,7 @@ static void *Thread (void *data) stream_t *stream = data; stream_sys_t *p_sys = stream->p_sys; #ifdef HAVE_VMSPLICE - ssize_t page_mask = sysconf (_SC_PAGE_SIZE) - 1; + const ssize_t page_mask = sysconf (_SC_PAGE_SIZE) - 1; #endif int fd = p_sys->write_fd; bool error = false; @@ -107,6 +107,8 @@ static void *Thread (void *data) #ifdef HAVE_VMSPLICE unsigned char *buf = mmap (NULL, bufsize, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0); + if (unlikely(buf == MAP_FAILED)) + break; vlc_cleanup_push (cleanup_mmap, buf); #else unsigned char buf[bufsize];