Derby
  1. Derby
  2. DERBY-5173

RAFContainer.privGetRandomAccessFile() unwraps wrong exception type

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major 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.

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

        Activity

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development