summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Jon McCann <mccann@jhu.edu>2007-04-03 12:25:41 -0400
committerWilliam Jon McCann <mccann@jhu.edu>2007-04-03 12:25:41 -0400
commit8b1733abb942b4356485b4afcf1dc3bf04d1fedc (patch)
tree78c72314289ba3d96c20a5e5f768a0ce00d9f5d9
parentf073826f58541cbbe2b805f200a9d245d76c634c (diff)
add some input validation
-rw-r--r--src/proc-linux.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/proc-linux.c b/src/proc-linux.c
index a247e75..d704e18 100644
--- a/src/proc-linux.c
+++ b/src/proc-linux.c
@@ -265,9 +265,7 @@ link_name (guint maj,
pid_t
proc_stat_get_ppid (proc_stat_t *stat)
{
- if (stat == NULL) {
- return -1;
- }
+ g_return_val_if_fail (stat != NULL, -1);
return stat->ppid;
}
@@ -275,6 +273,8 @@ proc_stat_get_ppid (proc_stat_t *stat)
char *
proc_stat_get_cmd (proc_stat_t *stat)
{
+ g_return_val_if_fail (stat != NULL, NULL);
+
return g_strdup (stat->cmd);
}
@@ -288,6 +288,8 @@ proc_stat_get_tty (proc_stat_t *stat)
guint dev_min;
pid_t pid;
+ g_return_val_if_fail (stat != NULL, NULL);
+
pid = stat->pid;
dev = stat->tty;
@@ -401,6 +403,8 @@ proc_stat_new_for_pid (pid_t pid,
GError *local_error;
proc_stat_t *proc;
+ g_return_val_if_fail (pid > 1, FALSE);
+
if (stat == NULL) {
return FALSE;
}
@@ -447,6 +451,8 @@ proc_pid_get_env_hash (pid_t pid)
int i;
gboolean last_was_null;
+ g_return_val_if_fail (pid > 1, NULL);
+
contents = NULL;
hash = NULL;
@@ -506,6 +512,8 @@ proc_pid_get_env (pid_t pid,
int prefix_len;
gboolean last_was_null;
+ g_return_val_if_fail (pid > 1, NULL);
+
val = NULL;
contents = NULL;
prefix = NULL;
@@ -557,6 +565,8 @@ proc_pid_get_uid (pid_t pid)
int uid;
int res;
+ g_return_val_if_fail (pid > 1, 0);
+
uid = -1;
path = g_strdup_printf ("/proc/%u", (guint)pid);
@@ -577,6 +587,8 @@ proc_pid_get_ppid (pid_t pid)
gboolean res;
proc_stat_t *stat;
+ g_return_val_if_fail (pid > 1, 0);
+
ppid = -1;
res = proc_stat_new_for_pid (pid, &stat, NULL);