]> granicus.if.org Git - procps-ng/commitdiff
library: ensure any 'flags' is consistently 'unsigned'
authorJim Warner <james.warner@comcast.net>
Sun, 6 Sep 2015 05:00:00 +0000 (00:00 -0500)
committerCraig Small <csmall@enc.com.au>
Mon, 7 Sep 2015 08:11:48 +0000 (18:11 +1000)
This commit is an outgrowth of the research into a bug
that recently surfaced with the 'w' program. And while
that program was just a victim several inconsistencies
were found in the handling of library flags during the
research. This patch just address such irregularities.

Reference(s):
http://www.freelists.org/post/procps/newlib-at-the-precipice,4

Signed-off-by: Jim Warner <james.warner@comcast.net>
proc/pids.c
proc/readproc.c
proc/readproc.h

index 37a1e9f020e7e66cd3de0e2fc40016245c871aac..ff66cede9cf7fde87469e75cc41a1e836aaba47d 100644 (file)
@@ -848,7 +848,7 @@ static inline void oldproc_close (
 
 static inline int oldproc_open (
         struct procps_pidsinfo *info,
-        int supp_flgs,
+        unsigned supp_flgs,
         ...)
 {
     va_list vl;
index 7784ad93b5858adfe79626dd5e21ee880a97f063..9036f11c65b72600859212a8862e653e5c98d6fd 100644 (file)
@@ -1319,7 +1319,7 @@ end_procs:
 //////////////////////////////////////////////////////////////////////////////////
 
 // initiate a process table scan
-PROCTAB* openproc(int flags, ...) {
+PROCTAB* openproc(unsigned flags, ...) {
     va_list ap;
     struct stat sbuf;
     static int did_stat;
@@ -1401,7 +1401,7 @@ HIDDEN_ALIAS(readeither);
  * Free allocated memory with exit().  Access via tab[N]->member.  The pointer
  * list is NULL terminated.
  */
-proc_t** readproctab(int flags, ...) {
+proc_t** readproctab(unsigned flags, ...) {
     PROCTAB* PT = NULL;
     proc_t** tab = NULL;
     int n = 0;
index 8d69a991b0512e659242aedb3ad6d75f7d03b534..809247160a8698da1bbdbb60d843da10458f74d5 100644 (file)
@@ -210,7 +210,7 @@ typedef struct PROCTAB {
 } PROCTAB;
 
 // Initialize a PROCTAB structure holding needed call-to-call persistent data
-extern PROCTAB* openproc(int flags, ... /* pid_t*|uid_t*|dev_t*|char* [, int n] */ );
+extern PROCTAB* openproc(unsigned flags, ... /* pid_t*|uid_t*|dev_t*|char* [, int n] */ );
 
 typedef struct proc_data_t {  // valued by: (else zero)
     proc_t **tab;             //     readproctab2, readproctab3
@@ -228,7 +228,7 @@ extern proc_data_t *readproctab3(int(*want_task)(proc_t *buf), PROCTAB *__restri
 // table subset satisfying the constraints of flags and the optional PID list.
 // Free allocated memory with exit().  Access via tab[N]->member.  The pointer
 // list is NULL terminated.
-extern proc_t** readproctab(int flags, ... /* same as openproc */ );
+extern proc_t** readproctab(unsigned flags, ... /* same as openproc */ );
 
 // Clean-up open files, etc from the openproc()
 extern void closeproc(PROCTAB* PT);