Commit 575f7b36 authored by Stelian Ionescu's avatar Stelian Ionescu
Browse files

Correctly check return value for error with mmap() and mremap().

Reported by John Fremlin.
parent bbdc6143
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -59,7 +59,10 @@
  (length ("off_t" off)))

#-windows
(defwrapper "mmap" ("void*" (errno-wrapper :pointer))
(defwrapper "mmap" ("void*" (errno-wrapper
                             :int
                             :error-predicate (lambda (p) (= p map-failed))
                             :return-filter make-pointer))
  (start :pointer)
  (length ("size_t" size))
  (prot :int)
@@ -68,7 +71,10 @@
  (offset ("off_t" off)))

#+linux
(defwrapper "mremap" ("void*" (errno-wrapper :pointer))
(defwrapper "mremap" ("void*" (errno-wrapper
                               :int
                               :error-predicate (lambda (p) (= p map-failed))
                               :return-filter make-pointer))
  (old-address :pointer)
  (old-size ("size_t" size))
  (new-size ("size_t" size))