fix crashes when parsing bad dates
java.lang.ArrayIndexOutOfBoundsException: length=13; index=42 at sun.util.calendar.BaseCalendar.getCalendarDateFromFixedDate(BaseCalendar.java:454) at java.util.GregorianCalendar.computeFields(GregorianCalendar.java:2340) at java.util.GregorianCalendar.computeTime(GregorianCalendar.java:2740) at java.util.Calendar.updateTime(Calendar.java:2589) at java.util.Calendar.getTimeInMillis(Calendar.java:1101) at java.util.Calendar.getTime(Calendar.java:1074) at java.text.SimpleDateFormat.parseInternal(SimpleDateFormat.java:1518) at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1413) at java.text.DateFormat.parse(DateFormat.java:356) at org.fdroid.fdroid.Utils.parseDateFormat(Utils.java:577) at org.fdroid.fdroid.Utils.parseDate(Utils.java:592) at org.fdroid.fdroid.data.Apk.<init>(Apk.java:178) java.lang.NumberFormatException: Not a number: at android.icu.math.BigDecimal.bad(BigDecimal.java:3349) at android.icu.math.BigDecimal.<init>(BigDecimal.java:526) at android.icu.math.BigDecimal.<init>(BigDecimal.java:910) at android.icu.text.DigitList.getBigDecimalICU(DigitList.java:278) at android.icu.text.DecimalFormat.parse(DecimalFormat.java:2058) at android.icu.text.DecimalFormat.parse(DecimalFormat.java:1931) at java.text.DecimalFormat.parse(DecimalFormat.java:804) at java.text.SimpleDateFormat.subParse(SimpleDateFormat.java:2353) at java.text.SimpleDateFormat.parseInternal(SimpleDateFormat.java:1615) at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1528) at java.text.DateFormat.parse(DateFormat.java:360) at org.fdroid.fdroid.Utils.parseDateFormat(Utils.java:577) at org.fdroid.fdroid.Utils.parseDate(Utils.java:592) at org.fdroid.fdroid.data.App.<init>(App.java:311) at org.fdroid.fdroid.views.whatsnew.WhatsNewAdapter.onBindViewHolder(WhatsNewAdapter.java:95) at org.fdroid.fdroid.views.whatsnew.WhatsNewAdapter.onBindViewHolder(WhatsNewAdapter.java:19) java.lang.ArrayIndexOutOfBoundsException: length=13; index=36 at sun.util.calendar.BaseCalendar.getCalendarDateFromFixedDate(BaseCalendar.java:454) at java.util.GregorianCalendar.computeFields(GregorianCalendar.java:2411) at java.util.GregorianCalendar.computeTime(GregorianCalendar.java:2813) at java.util.Calendar.updateTime(Calendar.java:3397) at java.util.Calendar.getTimeInMillis(Calendar.java:1761) at java.util.Calendar.getTime(Calendar.java:1734) at java.text.SimpleDateFormat.parseInternal(SimpleDateFormat.java:1633) at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1528) at java.text.DateFormat.parse(DateFormat.java:360) at org.fdroid.fdroid.Utils.parseDateFormat(Utils.java:577) at org.fdroid.fdroid.Utils.parseDate(Utils.java:592) at org.fdroid.fdroid.data.App.<init>(App.java:314) at org.fdroid.fdroid.views.updates.UpdatesAdapter.onCanUpdateLoadFinished(UpdatesAdapter.java:241) at org.fdroid.fdroid.views.updates.UpdatesAdapter.onLoadFinished(UpdatesAdapter.java:224) at org.fdroid.fdroid.views.updates.UpdatesAdapter.onLoadFinished(UpdatesAdapter.java:67)
This commit is contained in:
parent
56ddbf2056
commit
f21e4b5931
@ -578,7 +578,8 @@ public final class Utils {
|
||||
Date result;
|
||||
try {
|
||||
result = format.parse(str);
|
||||
} catch (ParseException e) {
|
||||
} catch (ArrayIndexOutOfBoundsException | NumberFormatException | ParseException e) {
|
||||
e.printStackTrace();
|
||||
result = fallback;
|
||||
}
|
||||
return result;
|
||||
|
Loading…
x
Reference in New Issue
Block a user