]> git.sesse.net Git - vlc/commitdiff
decomp: handle memory error
authorRémi Denis-Courmont <remi@remlab.net>
Fri, 26 Mar 2010 17:31:12 +0000 (19:31 +0200)
committerRémi Denis-Courmont <remi@remlab.net>
Fri, 26 Mar 2010 17:31:12 +0000 (19:31 +0200)
modules/stream_filter/decomp.c

index 6ec32da0564c1640c341c77a33531c6423e78ba6..b300fa94693ae9e700037891397b92d34f993827 100644 (file)
@@ -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];