You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by co...@apache.org on 2019/12/20 12:44:33 UTC
[cxf] 01/06: Handle Java 2 security issue in ForkJoinPool
This is an automated email from the ASF dual-hosted git repository.
coheigea pushed a commit to branch 3.3.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git
commit 2a9379a737768c43db299bf1daf97a9c35360771
Author: Andy McCright <j....@gmail.com>
AuthorDate: Mon Dec 16 10:40:38 2019 -0600
Handle Java 2 security issue in ForkJoinPool
Signed-off-by: Andy McCright <j....@gmail.com>
(cherry picked from commit 471bc4144f8e86a09daf80c7657d4a37ebef2b15)
---
.../org/apache/cxf/microprofile/client/MPRestClientCallback.java | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/MPRestClientCallback.java b/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/MPRestClientCallback.java
index af61061..a99365f 100644
--- a/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/MPRestClientCallback.java
+++ b/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/MPRestClientCallback.java
@@ -20,6 +20,8 @@
package org.apache.cxf.microprofile.client;
import java.lang.reflect.Type;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
import java.util.concurrent.CancellationException;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionException;
@@ -42,7 +44,12 @@ public class MPRestClientCallback<T> extends JaxrsClientCallback<T> {
Type outGenericType) {
super(handler, responseClass, outGenericType);
ExecutorService es = outMessage.get(ExecutorService.class);
- executor = es != null ? es : ForkJoinPool.commonPool();
+ if (es == null) {
+ es = AccessController.doPrivileged((PrivilegedAction<ExecutorService>)() -> {
+ return ForkJoinPool.commonPool();
+ });
+ }
+ executor = es;
}
@SuppressWarnings("unchecked")