From 4eb79a767dab86e772053df9ffa18ce57965f5f8 Mon Sep 17 00:00:00 2001 From: Eugene Syromyatnikov Date: Wed, 2 May 2018 20:04:23 +0200 Subject: [PATCH] mem: handle potential error from sysconf(_SC_PAGESIZE) Reported by Coverity scan. * mem.c (get_pagesize): Handle the case when sysconf(_SC_PAGESIZE) returns an error. --- mem.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/mem.c b/mem.c index f79d67cd..c349a715 100644 --- a/mem.c +++ b/mem.c @@ -40,8 +40,18 @@ get_pagesize(void) { static unsigned long pagesize; - if (!pagesize) - pagesize = sysconf(_SC_PAGESIZE); + if (!pagesize) { + long ret = sysconf(_SC_PAGESIZE); + + if (ret < 0) + perror_func_msg_and_die("sysconf(_SC_PAGESIZE)"); + if (ret == 0) + error_func_msg_and_die("sysconf(_SC_PAGESIZE) " + "returned 0"); + + pagesize = (unsigned long) ret; + } + return pagesize; } -- 2.40.0