logo       

Re: Bug in DateTime Validation: msg#00018

Subject: Re: Bug in DateTime Validation
Having looked more deeply at the code, I think I see the bug. In file org.apache.xerces.impl.dv.xs.AbstractDateTimeDV, the 'getDate' function improperly calculates the day of the month....

/**
    * Parses date CCYY-MM-DD
    *
    * @param buffer
    * @param start start position
    * @param end end position
    * @param date
    * @exception RuntimeException
    */
protected int getDate (String buffer, int start, int end, DateTimeData date) throws RuntimeException{ start = getYearMonth(buffer, start, end, date); if (buffer.charAt(start++) !='-') { throw new RuntimeException("CCYY-MM must be followed by '-' sign");
       }
       int stop = start + 2;
       date.day=parseInt(buffer, start, stop);
       return stop;
   }

Instead of:

date.day=parseInt(buffer, start, stop);

It should be:

date.day=parseInt(buffer, start, end);


By dictating: stop = start + 2, the code is just dropping off any additional numbers. The only time this code is going to throw a validation error is if the first two numbers of the day are greater than 30.


Matt Hughes wrote:
I think I may have stumbled across a bug in date time validation. The following Java code *should* throw an InvalidDatatypeValueException validation exception:

---------
String s = "2006-06-165555T10:19:41";
DateTimeDV db = new DateTimeDV();
db.getActualValue(s, null);
---------------

Notice the 'day' value: 165555. The allowed values should be 1-30 (for the month of June).
---------------------------------------------------------------------
To unsubscribe, e-mail: j-users-unsubscribe@xxxxxxxxxxxxxxxxx
For additional commands, e-mail: j-users-help@xxxxxxxxxxxxxxxxx





<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
boot-loaders.gr...    php.pear.genera...    debugging.valgr...    kde.redhat.user...    text.xml.xsl.ge...    culture.languag...    hardware.microc...    java.servicemix...    redhat.release....    web.zope.plone....    user-groups.lin...    opendarwin.webk...    video.mjpeg.use...    sysutils.bcfg2....    encryption.gpg....    lx-office.devel...    xfree86.forum/2...    mail.mutt.devel...    acpi.devel/2003...    qnx.openqnx.dev...    network.irc.irs...    freebsd.devel.m...   
Home | blog view | USPTO Patent Archive | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe