Privileged access to native dlls

Help
Anonymous
2011-03-08
2013-04-17

  • Anonymous
    2011-03-08

    Within SevenZip.java, line 419 is accessing dlls on the costumers computers resulting in the following:

    Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission loadLibrary.C:\Users\sits\AppData\Local\Temp\Nuix\20110308094643\SevenZipJBinding-6861332\libgcc_s_sjlj-1.dll)
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
    at java.security.AccessController.checkPermission(AccessController.java:546)
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
    at java.lang.SecurityManager.checkLink(SecurityManager.java:818)
    at java.lang.Runtime.load0(Runtime.java:764)
    at java.lang.System.load(System.java:1003)
    at net.sf.sevenzipjbinding.SevenZip.initSevenZipFromPlatformJARIntern(SevenZip.java:419)

    A temporary fix for us is to wrap the init call, but it would be better if this was done internally in the library:

    AccessController.doPrivileged(new PrivilegedAction<Void>() {
       public Void run() {
        try {
          SevenZip.initSevenZipFromPlatformJAR();
        } catch (SevenZipNativeInitializationException e){}
      }
    }

     
  • Boris Brodski
    Boris Brodski
    2011-03-08

    Thank you! I will add this to the library.