void-packages/srcpkgs/proplib/patches/check-sysconf-value.patch

35 lines
922 B
Diff

From 23ea15715c90bb3e85fd0392d7e1c7b2e94a3898 Mon Sep 17 00:00:00 2001
From: Juan RP <xtraeme@gmail.com>
Date: Sun, 11 Jan 2015 17:08:46 +0100
Subject: [PATCH] prop_object: check sysconf() return value.
Merged from xbps.
---
src/prop_object.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git src/prop_object.c src/prop_object.c
index a94015d..27f54b1 100644
--- src/prop_object.c
+++ src/prop_object.c
@@ -903,11 +903,17 @@ _prop_object_internalize_map_file(const char *fname)
{
struct stat sb;
struct _prop_object_internalize_mapped_file *mf;
- size_t pgsize = (size_t)sysconf(_SC_PAGESIZE);
- size_t pgmask = pgsize - 1;
+ long scps = sysconf(_SC_PAGESIZE);
+ size_t pgsize, pgmask;
bool need_guard = false;
int fd;
+ if (scps == -1)
+ return NULL;
+
+ pgsize = (size_t)scps;
+ pgmask = pgsize -1;
+
mf = _PROP_MALLOC(sizeof(*mf), M_TEMP);
if (mf == NULL)
return (NULL);