test: Add testcase for #1112

Refs: #1112
Change-Id: I0041366d8dcf035a09fbb59a5dbd5c94cae0d65e
This commit is contained in:
Ken Sato
2018-06-29 13:49:55 +09:00
committed by Masamichi Takagi
parent c6cc0bf07a
commit e1f204de4a
10 changed files with 438 additions and 0 deletions

43
test/issues/1112/CT_005.c Normal file
View File

@ -0,0 +1,43 @@
#define _GNU_SOURCE 1
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/mman.h>
#include <errno.h>
#include "./test_chk.h"
#define TEST_NAME "CT_005"
#define MAP_SIZE 0x2000000
int main(int argc, char **argv)
{
void *map, *remap;
int __errno;
printf("*** %s start *******************************\n", TEST_NAME);
map = mmap(0, MAP_SIZE, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
OKNG(map == MAP_FAILED, "mmap returned :%p", map);
errno = 0;
remap = mremap(map, MAP_SIZE, 0xffffffffffffe000, MREMAP_MAYMOVE);
__errno = errno;
OKNG(remap != MAP_FAILED, "mremap returned :%p"
" (expect return is MAP_FAILED)", remap);
OKNG(__errno != ENOMEM, "errno after mremap :%d"
" (expect error is ENOMEM(%d))", __errno, ENOMEM);
printf("*** %s PASSED\n\n", TEST_NAME);
return 0;
fn_fail:
printf("*** %s FAILED\n\n", TEST_NAME);
return -1;
}