Skip to content

Commit 34549c6

Browse files
committed
SnifferBuilder: do sniffer creation within doPrivileged
1 parent 0c8d4ac commit 34549c6

File tree

1 file changed

+18
-6
lines changed
  • client/sniffer/src/main/java/org/elasticsearch/client/sniff

1 file changed

+18
-6
lines changed

client/sniffer/src/main/java/org/elasticsearch/client/sniff/Sniffer.java

+18-6
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727

2828
import java.io.Closeable;
2929
import java.io.IOException;
30+
import java.security.AccessController;
31+
import java.security.PrivilegedAction;
3032
import java.util.List;
3133
import java.util.concurrent.Executors;
3234
import java.util.concurrent.ScheduledExecutorService;
@@ -164,15 +166,25 @@ private static class SnifferThreadFactory implements ThreadFactory {
164166

165167
private SnifferThreadFactory(String namePrefix) {
166168
this.namePrefix = namePrefix;
167-
this.originalThreadFactory = Executors.defaultThreadFactory();
169+
this.originalThreadFactory = AccessController.doPrivileged(new PrivilegedAction<ThreadFactory>() {
170+
@Override
171+
public ThreadFactory run() {
172+
return Executors.defaultThreadFactory();
173+
}
174+
});
168175
}
169176

170177
@Override
171-
public Thread newThread(Runnable r) {
172-
Thread t = this.originalThreadFactory.newThread(r);
173-
t.setName(namePrefix + "[T#" + threadNumber.getAndIncrement() + "]");
174-
t.setDaemon(true);
175-
return t;
178+
public Thread newThread(final Runnable r) {
179+
return AccessController.doPrivileged(new PrivilegedAction<Thread>() {
180+
@Override
181+
public Thread run() {
182+
Thread t = originalThreadFactory.newThread(r);
183+
t.setName(namePrefix + "[T#" + threadNumber.getAndIncrement() + "]");
184+
t.setDaemon(true);
185+
return t;
186+
}
187+
});
176188
}
177189
}
178190
}

0 commit comments

Comments
 (0)