summaryrefslogtreecommitdiff
path: root/main/reentrancy.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/reentrancy.c')
-rw-r--r--main/reentrancy.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/main/reentrancy.c b/main/reentrancy.c
index 213e82bd8c..6699817510 100644
--- a/main/reentrancy.c
+++ b/main/reentrancy.c
@@ -187,11 +187,14 @@ PHPAPI char *php_ctime_r(const time_t *clock, char *buf)
local_lock(CTIME_R);
tmp = ctime(clock);
- strcpy(buf, tmp);
+ if (tmp) {
+ strcpy(buf, tmp);
+ tmp = buf;
+ }
local_unlock(CTIME_R);
- return buf;
+ return tmp;
}
#endif
@@ -205,11 +208,14 @@ PHPAPI char *php_asctime_r(const struct tm *tm, char *buf)
local_lock(ASCTIME_R);
tmp = asctime(tm);
- strcpy(buf, tmp);
+ if (tmp) {
+ strcpy(buf, tmp);
+ tmp = buf;
+ }
local_unlock(ASCTIME_R);
- return buf;
+ return tmp;
}
#endif