namespace node {
+static char buf[MAXPATHLEN + 1];
int OS::GetMemory(size_t *rss, size_t *vsize) {
FILE *f = fopen("/proc/self/stat", "r");
int itmp;
char ctmp;
- char buffer[MAXPATHLEN];
size_t page_size = getpagesize();
/* PID */
- if (fscanf(f, "%d ", &itmp) == 0) goto error;
+ if (fscanf(f, "%d ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* Exec file */
- if (fscanf (f, "%s ", &buffer[0]) == 0) goto error;
+ if (fscanf (f, "%s ", buf) == 0) goto error; /* coverity[secure_coding] */
/* State */
- if (fscanf (f, "%c ", &ctmp) == 0) goto error;
+ if (fscanf (f, "%c ", &ctmp) == 0) goto error; /* coverity[secure_coding] */
/* Parent process */
- if (fscanf (f, "%d ", &itmp) == 0) goto error;
+ if (fscanf (f, "%d ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* Process group */
- if (fscanf (f, "%d ", &itmp) == 0) goto error;
+ if (fscanf (f, "%d ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* Session id */
- if (fscanf (f, "%d ", &itmp) == 0) goto error;
+ if (fscanf (f, "%d ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* TTY */
- if (fscanf (f, "%d ", &itmp) == 0) goto error;
+ if (fscanf (f, "%d ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* TTY owner process group */
- if (fscanf (f, "%d ", &itmp) == 0) goto error;
+ if (fscanf (f, "%d ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* Flags */
- if (fscanf (f, "%u ", &itmp) == 0) goto error;
+ if (fscanf (f, "%u ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* Minor faults (no memory page) */
- if (fscanf (f, "%u ", &itmp) == 0) goto error;
+ if (fscanf (f, "%u ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* Minor faults, children */
- if (fscanf (f, "%u ", &itmp) == 0) goto error;
+ if (fscanf (f, "%u ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* Major faults (memory page faults) */
- if (fscanf (f, "%u ", &itmp) == 0) goto error;
+ if (fscanf (f, "%u ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* Major faults, children */
- if (fscanf (f, "%u ", &itmp) == 0) goto error;
+ if (fscanf (f, "%u ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* utime */
- if (fscanf (f, "%d ", &itmp) == 0) goto error;
+ if (fscanf (f, "%d ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* stime */
- if (fscanf (f, "%d ", &itmp) == 0) goto error;
+ if (fscanf (f, "%d ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* utime, children */
- if (fscanf (f, "%d ", &itmp) == 0) goto error;
+ if (fscanf (f, "%d ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* stime, children */
- if (fscanf (f, "%d ", &itmp) == 0) goto error;
+ if (fscanf (f, "%d ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* jiffies remaining in current time slice */
- if (fscanf (f, "%d ", &itmp) == 0) goto error;
+ if (fscanf (f, "%d ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* 'nice' value */
- if (fscanf (f, "%d ", &itmp) == 0) goto error;
+ if (fscanf (f, "%d ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* jiffies until next timeout */
- if (fscanf (f, "%u ", &itmp) == 0) goto error;
+ if (fscanf (f, "%u ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* jiffies until next SIGALRM */
- if (fscanf (f, "%u ", &itmp) == 0) goto error;
+ if (fscanf (f, "%u ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* start time (jiffies since system boot) */
- if (fscanf (f, "%d ", &itmp) == 0) goto error;
+ if (fscanf (f, "%d ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* Virtual memory size */
- if (fscanf (f, "%u ", &itmp) == 0) goto error;
+ if (fscanf (f, "%u ", &itmp) == 0) goto error; /* coverity[secure_coding] */
*vsize = (size_t) itmp;
/* Resident set size */
- if (fscanf (f, "%u ", &itmp) == 0) goto error;
+ if (fscanf (f, "%u ", &itmp) == 0) goto error; /* coverity[secure_coding] */
*rss = (size_t) itmp * page_size;
/* rlim */
- if (fscanf (f, "%u ", &itmp) == 0) goto error;
+ if (fscanf (f, "%u ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* Start of text */
- if (fscanf (f, "%u ", &itmp) == 0) goto error;
+ if (fscanf (f, "%u ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* End of text */
- if (fscanf (f, "%u ", &itmp) == 0) goto error;
+ if (fscanf (f, "%u ", &itmp) == 0) goto error; /* coverity[secure_coding] */
/* Start of stack */
- if (fscanf (f, "%u ", &itmp) == 0) goto error;
+ if (fscanf (f, "%u ", &itmp) == 0) goto error; /* coverity[secure_coding] */
fclose (f);