8148570: TzdbZoneRulesCompiler.java throws Null Pointer Exception While Compiling and building TZDB data file

While getting value from DayOfWeek, -1 is returned if the DayOfWeek is null. The reason to return “-1” being, the same value is checked later while getting day-of-week byte (dowbyte) at line no. 251, ZoneRules.java.

Reviewed-by: rriggs, aefimov
This commit is contained in:
Ramanand Patil 2016-02-09 11:17:28 +05:30
parent 451a576a42
commit 1377939c5d

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -232,7 +232,7 @@ final class ZoneRules {
static void writeRule(ZoneOffsetTransitionRule rule, DataOutput out) throws IOException {
int month = rule.getMonth().getValue();
byte dom = (byte)rule.getDayOfMonthIndicator();
int dow = rule.getDayOfWeek().getValue();
int dow = (rule.getDayOfWeek() == null ? -1 : rule.getDayOfWeek().getValue());
LocalTime time = rule.getLocalTime();
boolean timeEndOfDay = rule.isMidnightEndOfDay();
TimeDefinition timeDefinition = rule.getTimeDefinition();