aboutsummaryrefslogtreecommitdiff
path: root/src/p2p/net_node.inl
diff options
context:
space:
mode:
authorZachary Michaels <mikezackles@gmail.com>2014-08-20 11:57:29 -0400
committerRiccardo Spagni <ric@spagni.net>2014-09-15 22:38:46 +0200
commit9db881864db916310c11270c1939db700689c9a3 (patch)
tree742b1cd07dde7581f9a3090698da29152cecf3ee /src/p2p/net_node.inl
parentUse LTO by default (diff)
downloadmonero-9db881864db916310c11270c1939db700689c9a3.tar.xz
Fix time_t serialization issue
On 32-bit MinGW-w64, time_t is int32_t. The existing code was serializing time_t directly and implicitly assuming that time_t is int64_t. This commit formalizes that assumption by serializing int64_t directly and casting to time_t where appropriate. Thanks go to greatwolf for reporting this issue. monero-project/bitmonero#88
Diffstat (limited to 'src/p2p/net_node.inl')
-rw-r--r--src/p2p/net_node.inl8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl
index 870e7572e..954d794b7 100644
--- a/src/p2p/net_node.inl
+++ b/src/p2p/net_node.inl
@@ -624,7 +624,9 @@ namespace nodetool
peerlist_entry pe_local = AUTO_VAL_INIT(pe_local);
pe_local.adr = na;
pe_local.id = pi;
- time(&pe_local.last_seen);
+ time_t last_seen;
+ time(&last_seen);
+ pe_local.last_seen = static_cast<int64_t>(last_seen);
m_peerlist.append_with_peer_white(pe_local);
//update last seen and push it to peerlist manager
@@ -1102,7 +1104,9 @@ namespace nodetool
peerlist_entry pe;
pe.adr.ip = context.m_remote_ip;
pe.adr.port = port_l;
- time(&pe.last_seen);
+ time_t last_seen;
+ time(&last_seen);
+ pe.last_seen = static_cast<int64_t>(last_seen);
pe.id = peer_id_l;
this->m_peerlist.append_with_peer_white(pe);
LOG_PRINT_CCONTEXT_L2("PING SUCCESS " << epee::string_tools::get_ip_string_from_int32(context.m_remote_ip) << ":" << port_l);