Index: misc/unix/env.c
===================================================================
--- misc/unix/env.c	(revision 651611)
+++ misc/unix/env.c	(working copy)
@@ -37,7 +37,9 @@
     char *val = getenv(envvar);
     if (!val)
         return APR_ENOENT;
-    *value = val;
+    
+    if(value)
+        *value = val;
     return APR_SUCCESS;
 
 #else
Index: misc/win32/env.c
===================================================================
--- misc/win32/env.c	(revision 651611)
+++ misc/win32/env.c	(working copy)
@@ -72,7 +72,8 @@
 
         if (size == 0) {
             /* The environment value exists, but is zero-length. */
-            *value = apr_pstrdup(pool, "");
+            if(value)
+                *value = apr_pstrdup(pool, "");
             return APR_SUCCESS;
         }
 
@@ -100,7 +101,8 @@
 
         if (size == 0) {
             /* The environment value exists, but is zero-length. */
-            *value = apr_pstrdup(pool, "");
+            if(value)
+                *value = apr_pstrdup(pool, "");
             return APR_SUCCESS;
         }
 
@@ -112,7 +114,8 @@
     }
 #endif
 
-    *value = val;
+    if(value)
+        *value = val;
     return APR_SUCCESS;
 #endif
 }
