Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-5173

RAFContainer.privGetRandomAccessFile() unwraps wrong exception type

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 10.7.1.1
    • Fix Version/s: 10.8.1.2
    • Component/s: Store
    • Labels:
      None

      Description

      RAFContainer.privGetRandomAccessFile() catches and unwraps PrivilegedActionExceptions raised in the privileged code:

      catch( PrivilegedActionException pae)

      { throw (StandardException) pae.getException(); }

      The problem is that the privileged code is this:

      case GET_RANDOM_ACCESS_FILE_ACTION:

      { return actionFile.getRandomAccessFile("rw"); }

      // end of case BACKUP_CONTAINER_ACTION

      getRandomAccessFile() only has one checked exception, and that is FileNotFoundException. If it ever happens to raise FNFE, privGetRandomAccessFile() will fail with a ClassCastException and hide the underlying error.

        Attachments

        1. derby-5173-1a.diff
          1 kB
          Knut Anders Hatlen

          Activity

            People

            • Assignee:
              knutanders Knut Anders Hatlen
              Reporter:
              knutanders Knut Anders Hatlen
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: