Bug 314461 - [local] NPE trying to delete a local folder that has no permissions at all
Summary: [local] NPE trying to delete a local folder that has no permissions at all
Status: RESOLVED FIXED
Alias: None
Product: Target Management
Classification: Tools
Component: RSE (show other bugs)
Version: 3.2   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 3.2 RC3   Edit
Assignee: Martin Oberhuber CLA
QA Contact: Martin Oberhuber CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 314439
  Show dependency tree
 
Reported: 2010-05-26 09:46 EDT by Martin Oberhuber CLA
Modified: 2010-05-26 13:02 EDT (History)
1 user (show)

See Also:
dmcknigh: review+


Attachments
trivial patch (1.77 KB, patch)
2010-05-26 09:55 EDT, Martin Oberhuber CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Oberhuber CLA 2010-05-26 09:46:03 EDT
+++ This bug was initially created as a clone of Bug #314439 +++

Build ID: TM 3.2rc2 on Linux-GTK-RHEL-4

Found when debugging RSEFileStoreTest#testDeleteSpecialCases() : Using the RSE "local" file system to try and delete an existing folder that has no permissions at all throws a NullPointerException. Example:

  mkdir nonAccessible
  chmod 0 nonAccessible
  LocalFileService.delete(nonAccessible);

because java.io.File#listFiles() returns null in this case, this results in an NPE:

Exception in tearDown.deleteTestStore:
java.lang.NullPointerException
	at org.eclipse.rse.internal.services.local.files.LocalFileService.deleteContents(LocalFileService.java:1104)
	at org.eclipse.rse.internal.services.local.files.LocalFileService.delete(LocalFileService.java:1068)
	at org.eclipse.rse.subsystems.files.core.servicesubsystem.FileServiceSubSystem.delete(FileServiceSubSystem.java:975)
	at org.eclipse.rse.internal.efs.RSEFileStoreImpl.delete(RSEFileStoreImpl.java:797)
	at org.eclipse.rse.internal.efs.RSEFileStore.delete(RSEFileStore.java:362)
	at org.eclipse.rse.tests.subsystems.files.RSEFileStoreTest.tearDown(RSEFileStoreTest.java:174)
Comment 1 Martin Oberhuber CLA 2010-05-26 09:55:20 EDT
Created attachment 169990 [details]
trivial patch

Attached trivial patch fixes the issue. With the fix, an exception is now reported as expected instead of the NPE:

Exception in tearDown.deleteTestStore:
org.eclipse.core.runtime.CoreException: Failed to delete: /folk/mober/rseTest1274877741316: rse://LOCALHOST/folk/mober/rseTest1274877741316
	at org.eclipse.rse.internal.efs.RSEFileStoreImpl.rethrowCoreException(RSEFileStoreImpl.java:629)
	at org.eclipse.rse.internal.efs.RSEFileStoreImpl.delete(RSEFileStoreImpl.java:803)
	at org.eclipse.rse.internal.efs.RSEFileStore.delete(RSEFileStore.java:362)
	at org.eclipse.rse.tests.subsystems.files.RSEFileStoreTest.tearDown(RSEFileStoreTest.java:174)


Caused by: org.eclipse.rse.services.clientserver.messages.SystemOperationFailedException: Failed to delete: /folk/mober/rseTest1274877741316
	at org.eclipse.rse.internal.services.local.files.LocalFileService.delete(LocalFileService.java:1081)
	at org.eclipse.rse.subsystems.files.core.servicesubsystem.FileServiceSubSystem.delete(FileServiceSubSystem.java:975)
Comment 2 Martin Oberhuber CLA 2010-05-26 09:55:45 EDT
Dave can you review this trivial fix please?
Comment 3 Martin Oberhuber CLA 2010-05-26 13:02:21 EDT
Released > I20100526.