• N
    Adjust datetime parsing to be more robust. We now pass the length of the · 63e0d612
    Neil Conway 提交于
    working buffer into ParseDateTime() and reject too-long input there,
    rather than checking the length of the input string before calling
    ParseDateTime(). The old method was bogus because ParseDateTime() can use
    a variable amount of working space, depending on the content of the
    input string (e.g. how many fields need to be NUL terminated). This fixes
    a minor stack overrun -- I don't _think_ it's exploitable, although I
    won't claim to be an expert.
    
    Along the way, fix a bug reported by Mark Dilger: the working buffer
    allocated by interval_in() was too short, which resulted in rejecting
    some perfectly valid interval input values. I added a regression test for
    this fix.
    63e0d612
nabstime.c 37.7 KB