]> granicus.if.org Git - sudo/commitdiff
Add version of getenv(3) that uses our own environ pointer.
authorTodd C. Miller <Todd.Miller@courtesan.com>
Thu, 13 May 2010 14:20:40 +0000 (10:20 -0400)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Thu, 13 May 2010 14:20:40 +0000 (10:20 -0400)
plugins/sudoers/env.c

index 0040b8d6db175d570317945905531a3136ac432e..6041f5713e0dcb15de2e6636ed0d08684123b4b0 100644 (file)
@@ -265,6 +265,22 @@ sudo_setenv(const char *var, const char *val, int dupcheck)
     sudo_putenv(estring, dupcheck, TRUE);
 }
 
+/*
+ * Version of getenv(3) that uses our own environ pointer.
+ */
+char *
+getenv(const char *var)
+{
+    char *cp, **ev;
+    size_t vlen = strlen(var);
+
+    for (ev = env.envp; (cp = *ev) != NULL; ev++) {
+       if (strncmp(var, cp, vlen) == 0 && cp[vlen] == '=')
+           return cp + vlen + 1;
+    }
+    return NULL;
+}
+
 /*
  * Version of setenv(3) that uses our own environ pointer.
  */