From 41769b976a17a5704cfc0ae27d1ec72c54fbf52e Mon Sep 17 00:00:00 2001 From: sin Date: Tue, 29 Oct 2013 15:54:12 +0000 Subject: [PATCH] Check for a valid pagesize in mkswap(8) --- mkswap.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mkswap.c b/mkswap.c index 40522fa..31a83a4 100644 --- a/mkswap.c +++ b/mkswap.c @@ -45,7 +45,12 @@ main(int argc, char *argv[]) if (argc < 1) usage(); - pagesize = sysconf(_SC_PAGE_SIZE); + pagesize = sysconf(_SC_PAGESIZE); + if (pagesize <= 0) { + pagesize = sysconf(_SC_PAGE_SIZE); + if (pagesize <= 0) + enprintf(EXIT_FAILURE, "can't determine pagesize\n"); + } fd = open(argv[0], O_RDWR); if (fd < 0)