Revision e89f07d3 linux-user/mmap.c

b/linux-user/mmap.c
183 183
    }
184 184
#endif
185 185

  
186
    if (offset & ~TARGET_PAGE_MASK)
187
        return -EINVAL;
186
    if (offset & ~TARGET_PAGE_MASK) {
187
        errno = EINVAL;
188
        return -1;
189
    }
188 190

  
189 191
    len = TARGET_PAGE_ALIGN(len);
190 192
    if (len == 0)
......
232 234
        }
233 235
    }
234 236
    
235
    if (start & ~TARGET_PAGE_MASK)
236
        return -EINVAL;
237
    if (start & ~TARGET_PAGE_MASK) {
238
        errno = EINVAL;
239
        return -1;
240
    }
237 241
    end = start + len;
238 242
    host_end = HOST_PAGE_ALIGN(end);
239 243

  
......
244 248
        /* msync() won't work here, so we return an error if write is
245 249
           possible while it is a shared mapping */
246 250
        if ((flags & MAP_TYPE) == MAP_SHARED &&
247
            (prot & PROT_WRITE))
248
            return -EINVAL;
251
            (prot & PROT_WRITE)) {
252
            errno = EINVAL;
253
            return -1;
254
        }
249 255
        retaddr = target_mmap(start, len, prot | PROT_WRITE, 
250 256
                              MAP_FIXED | MAP_PRIVATE | MAP_ANONYMOUS, 
251 257
                              -1, 0);

Also available in: Unified diff