[tor-commits] [tor/maint-0.2.2] Correct the logic from f14754fbd for tor_gmtime_r

nickm at torproject.org nickm at torproject.org
Thu Apr 28 21:14:18 UTC 2011


commit 2dc9546eef6d748245d90b288f28ace1aa9b6f14
Author: John Brooks <special at dereferenced.net>
Date:   Mon Jan 3 21:36:09 2011 -0700

    Correct the logic from f14754fbd for tor_gmtime_r
---
 src/common/compat.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/common/compat.c b/src/common/compat.c
index 9b7c0b7..3644bd9 100644
--- a/src/common/compat.c
+++ b/src/common/compat.c
@@ -2112,7 +2112,7 @@ tor_localtime_r(const time_t *timep, struct tm *result)
  * Convert *<b>timep</b> to a struct tm in UTC, and store the value in
  * *<b>result</b>.  Return the result on success, or NULL on failure.
  */
-#ifndef HAVE_GMTIME_R
+#ifdef HAVE_GMTIME_R
 struct tm *
 tor_gmtime_r(const time_t *timep, struct tm *result)
 {
@@ -2130,7 +2130,8 @@ tor_gmtime_r(const time_t *timep, struct tm *result)
   tor_assert(result);
   tor_mutex_acquire(m);
   r = gmtime(timep);
-  memcpy(result, r, sizeof(struct tm));
+  if (r)
+    memcpy(result, r, sizeof(struct tm));
   tor_mutex_release(m);
   return correct_tm(0, timep, result, r);
 }
@@ -2141,7 +2142,8 @@ tor_gmtime_r(const time_t *timep, struct tm *result)
   struct tm *r;
   tor_assert(result);
   r = gmtime(timep);
-  memcpy(result, r, sizeof(struct tm));
+  if (r)
+    memcpy(result, r, sizeof(struct tm));
   return correct_tm(0, timep, result, r);
 }
 #endif



More information about the tor-commits mailing list