win32: Check return value from apr_generate_random_bytes() in
file_pipe_create().

git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1859356 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/file_io/win32/pipe.c b/file_io/win32/pipe.c
index 6014582..b13507a 100644
--- a/file_io/win32/pipe.c
+++ b/file_io/win32/pipe.c
@@ -120,6 +120,7 @@
     (void) apr_pollset_create(&(*out)->pollset, 1, p, 0);
 #endif
     if (apr_os_level >= APR_WIN_NT) {
+        apr_status_t rv;
         char rand[8];
         int pid = getpid();
 #define FMT_PIPE_NAME "\\\\.\\pipe\\apr-pipe-%x.%lx."
@@ -150,7 +151,12 @@
         }
         dwPipeMode = 0;
 
-        apr_generate_random_bytes(rand, sizeof rand);
+        rv = apr_generate_random_bytes(rand, sizeof rand);
+        if (rv != APR_SUCCESS) {
+            file_cleanup(*in);
+            return rv;
+        }
+
         pos = apr_snprintf(name, sizeof name, FMT_PIPE_NAME, pid, id++);
         apr_escape_hex(name + pos, rand, sizeof rand, 0, NULL);
 
@@ -163,7 +169,7 @@
                                           1,            /* nDefaultTimeOut, */
                                           &sa);
         if ((*in)->filehand == INVALID_HANDLE_VALUE) {
-            apr_status_t rv = apr_get_os_error();
+            rv = apr_get_os_error();
             file_cleanup(*in);
             return rv;
         }