File tree Expand file tree Collapse file tree 1 file changed +7
-0
lines changed
src/main/java/org/codehaus/plexus/archiver/zip Expand file tree Collapse file tree 1 file changed +7
-0
lines changed Original file line number Diff line number Diff line change @@ -698,7 +698,14 @@ protected FileTime normalizeLastModifiedTime(FileTime lastModifiedTime) {
698
698
*/
699
699
private static long dosToJavaTime (long dosTime ) {
700
700
Calendar cal = Calendar .getInstance (TimeZone .getDefault (), Locale .ROOT );
701
+ if (dosTime < MIN_DOS_JAVA_TIME ) {
702
+ dosTime = MIN_DOS_JAVA_TIME ;
703
+ }
701
704
cal .setTimeInMillis (dosTime );
702
705
return dosTime - (cal .get (Calendar .ZONE_OFFSET ) + cal .get (Calendar .DST_OFFSET ));
703
706
}
707
+
708
+ // minimum DOS time that will give a positive Java time, whatever the current TZ is:
709
+ // biggest TZ offset is for Etc/GMT-14 https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
710
+ private static final long MIN_DOS_JAVA_TIME = 1000 * 14 * 3600 ;
704
711
}
You can’t perform that action at this time.
0 commit comments