![itojun](/assets/img/avatar_default.png)
- sprintf() can return negative value on error, so p += sprintf(p, blah) is unsafe - signed/unsigned mixup - wrong assumption: sizeof(time_t) <= sizeof(int) - need to init errno to 0 before strtoul()
- sprintf() can return negative value on error, so p += sprintf(p, blah) is unsafe - signed/unsigned mixup - wrong assumption: sizeof(time_t) <= sizeof(int) - need to init errno to 0 before strtoul()