From 5f318d809226e741f04f48a9974fe007d1fc8ecc Mon Sep 17 00:00:00 2001 From: Torsten Merz <tm@moon-ph.visitor.csiro.au> Date: Thu, 22 Nov 2018 13:13:28 +1000 Subject: [PATCH] added sig_atomic_t type size check --- smi/src/nrt_system.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/smi/src/nrt_system.c b/smi/src/nrt_system.c index 7e8d71c..7edfab3 100644 --- a/smi/src/nrt_system.c +++ b/smi/src/nrt_system.c @@ -7,6 +7,8 @@ #include <stdlib.h> #include <sys/io.h> #include <sys/resource.h> +#include <limits.h> +#include <signal.h> // UDP socket related #include <netdb.h> @@ -375,6 +377,14 @@ int nrtSmi(char *esmFile, char *tssFile, char *tdeFile, char *cfgFile) { printf("[nrtSmi] data type mismatch\n"); goto exit; } + + /* check size of sig_atomic_t type */ + if (sizeof(sig_atomic_t)*CHAR_BIT<4*8) + { + error=4; + printf("[nrtSmi] atomic type size too small\n"); + goto exit; + } printf("[nrtSmi] allocating system shared memory\n"); if (initShm(&shm_fd,sizeof(shm_struct),(void *) &shm,SHM_FILE)!=0) { -- GitLab