btrfs-progs: send dump: use reentrant variant of localtime

Signed-off-by: David Sterba <dsterba@suse.com>
master
David Sterba 2016-11-07 12:00:28 +01:00
parent 798cec84dd
commit 590d8b2ee5
1 changed files with 3 additions and 4 deletions

View File

@ -271,16 +271,15 @@ static int print_chown(const char *path, u64 uid, u64 gid, void *user)
static int sprintf_timespec(struct timespec *ts, char *dest, int max_size)
{
struct tm *tm;
struct tm tm;
int ret;
tm = localtime(&ts->tv_sec);
if (!tm) {
if (!localtime_r(&ts->tv_sec, &tm)) {
error("failed to convert time %lld.%.9ld to local time",
(long long)ts->tv_sec, ts->tv_nsec);
return -EINVAL;
}
ret = strftime(dest, max_size, "%FT%T%z", tm);
ret = strftime(dest, max_size, "%FT%T%z", &tm);
if (ret == 0) {
error(
"time %lld.%ld is too long to convert into readable string",