On 05/14/2013 04:22 AM, John Ferlan wrote: > On 05/13/2013 03:51 PM, Eric Blake wrote: >> On 05/13/2013 11:01 AM, John Ferlan wrote: >>> Add incorrectly formatted bios_date validation test >>> --- > > In any case, in lieu of a v3, here's a diff:
Thanks; that works.
> or more visually appealing
>
> if (def->bios_date != NULL) {
> char *ptr;
> int month, day, year;
>
> /* Validate just the format of the date
> * Expect mm/dd/yyyy or mm/dd/yy,
> * where yy must be 00->99 and would be assumed to be 19xx
> * a yyyy date should be 1900 and beyond
> */
> if (virStrToLong_i(def->bios_date, &ptr, 10, &month) < 0 ||
> *ptr != '/' ||
> virStrToLong_i(ptr + 1, &ptr, 10, &day) < 0 ||
> *ptr != '/' ||
> virStrToLong_i(ptr + 1, &ptr, 10, &year) < 0 ||
> *ptr != '\0' ||
> (month < 1 || month > 12) ||
> (day < 1 || day > 31) ||
> (year < 0 || (year >= 100 && year < 1900))) {
> virReportError(VIR_ERR_XML_DETAIL, "%s",
> _("Invalid BIOS 'date' format"));
> goto error;
> }
> }
Indeed, that removes any confusion I had. ACK with this squashed in to
the rest of your v3 patch.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
