1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-15 04:55:22 +02:00

[256724] thread-level security is not established

This commit is contained in:
David McKnight 2008-11-27 14:43:59 +00:00
parent 633bd9be7a
commit e596ee373f

View file

@ -18,6 +18,7 @@
* Xuan Chen (IBM) - [215863]] NPE when Expanding Empty Zip File * Xuan Chen (IBM) - [215863]] NPE when Expanding Empty Zip File
* Martin Oberhuber (Wind River) - [199854][api] Improve error reporting for archive handlers * Martin Oberhuber (Wind River) - [199854][api] Improve error reporting for archive handlers
* David McKnight (IBM) - [251729][dstore] problems querying symbolic link folder * David McKnight (IBM) - [251729][dstore] problems querying symbolic link folder
* Noriaki Takatsu (IBM) - [256724] thread-level security is not established
*******************************************************************************/ *******************************************************************************/
package org.eclipse.rse.internal.dstore.universal.miners.filesystem; package org.eclipse.rse.internal.dstore.universal.miners.filesystem;
@ -34,6 +35,7 @@ import java.util.List;
import org.eclipse.dstore.core.model.DE; import org.eclipse.dstore.core.model.DE;
import org.eclipse.dstore.core.model.DataElement; import org.eclipse.dstore.core.model.DataElement;
import org.eclipse.dstore.core.model.DataStore; import org.eclipse.dstore.core.model.DataStore;
import org.eclipse.dstore.core.server.SecuredThread;
import org.eclipse.rse.dstore.universal.miners.IUniversalDataStoreConstants; import org.eclipse.rse.dstore.universal.miners.IUniversalDataStoreConstants;
import org.eclipse.rse.services.clientserver.IServiceConstants; import org.eclipse.rse.services.clientserver.IServiceConstants;
import org.eclipse.rse.services.clientserver.PathUtility; import org.eclipse.rse.services.clientserver.PathUtility;
@ -46,7 +48,7 @@ import org.eclipse.rse.services.clientserver.java.BasicClassFileParser;
/* /*
* This utility class is for determining file types * This utility class is for determining file types
*/ */
public class FileClassifier extends Thread public class FileClassifier extends SecuredThread
{ {
protected class Pair protected class Pair
{ {
@ -129,6 +131,7 @@ public class FileClassifier extends Thread
public FileClassifier(DataElement subject) public FileClassifier(DataElement subject)
{ {
super(subject.getDataStore());
_lines = new ArrayList(); _lines = new ArrayList();
// special encoding passed in when starting server // special encoding passed in when starting server
_specialEncoding = System.getProperty("dstore.stdin.encoding"); //$NON-NLS-1$ _specialEncoding = System.getProperty("dstore.stdin.encoding"); //$NON-NLS-1$
@ -259,6 +262,7 @@ public class FileClassifier extends Thread
public void run() public void run()
{ {
super.run();
if (!_systemSupportsClassify) if (!_systemSupportsClassify)
return; return;
init(); init();
@ -291,7 +295,7 @@ public class FileClassifier extends Thread
// if parent file is a directory, classify all its children, and // if parent file is a directory, classify all its children, and
// do not // do not
// resolve links by default // resolve links by default
if (parentFile.isDirectory() && parentFile.list().length > 0) if ((parentFile != null) && parentFile.isDirectory() && parentFile.list().length > 0)
{ {
classifyChildren(parentFile, "*", false); //$NON-NLS-1$ classifyChildren(parentFile, "*", false); //$NON-NLS-1$
} }