[ https://issues.apache.org/jira/browse/FOP-2146?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17099923#comment-17099923 ]
Jukka Matilainen edited comment on FOP-2146 at 5/5/20, 2:09 PM: ---------------------------------------------------------------- {{FontCache.getUserHome()}} returns {{null}} if the {{user.home}} system property is unset or the directory pointed to by it does not exist. The latter seems to be the case on the AWS Lambda Java runtime. was (Author: jkmatila): FontCache.g{{etUserHome()}} method returns {{null}} if the {{user.home}} system property is unset or the directory pointed to by it does not exist. The latter seems to be the case on the AWS Lambda Java runtime. > Wrong FontCache-Directory used for not existing userHome in > FontCache.getDefaultCacheFile() (Bug 47786 was not fixed correctly) > ------------------------------------------------------------------------------------------------------------------------------- > > Key: FOP-2146 > URL: https://issues.apache.org/jira/browse/FOP-2146 > Project: FOP > Issue Type: Bug > Components: font/unqualified > Affects Versions: 1.1 > Environment: Operating System: All > Platform: All > Reporter: mg > > Method getDefaultCacheFile() returns an invalid file name if the user has no > home directory set. In that case the name of the fop user directory > (FOP_USER_DIR!) is returned and not the name of the cache file > (DEFAULT_CACHE_FILENAME). > Wrong Code: > public static File getDefaultCacheFile(boolean forWriting) { > File userHome = getUserHome(); > if (userHome != null) { > File fopUserDir = new File(userHome, FOP_USER_DIR); > if (forWriting) { > boolean writable = fopUserDir.canWrite(); > if (!fopUserDir.exists()) { > writable = fopUserDir.mkdir(); > } > if (!writable) { > userHome = getTempDirectory(); > fopUserDir = new File(userHome, FOP_USER_DIR); > fopUserDir.mkdir(); > } > } > return new File(fopUserDir, DEFAULT_CACHE_FILENAME); > } > return new File(FOP_USER_DIR); > } > If getUserHome() does not return a directory the default name must be > returned (and not the name of the directory): > return new File(DEFAULT_CACHE_FILENAME); -- This message was sent by Atlassian Jira (v8.3.4#803005)