@@ -77,44 +77,48 @@ TEST(PingArray, ZeroLengthDataCanBeAdded) {
77
77
Ping_Array_Ptr const arr (ping_array_new (2 , 1 ));
78
78
Mono_Time_Ptr const mono_time (mono_time_new ());
79
79
80
- uint64_t const ping_id = ping_array_add (arr.get (), mono_time.get (), nullptr , 0 );
80
+ uint8_t c = 0 ;
81
+ uint64_t const ping_id = ping_array_add (arr.get (), mono_time.get (), &c, sizeof (c));
81
82
EXPECT_NE (ping_id, 0 );
82
83
83
- EXPECT_EQ (ping_array_check (arr.get (), mono_time.get (), nullptr , 0 , ping_id), 0 );
84
+ EXPECT_EQ (ping_array_check (arr.get (), mono_time.get (), &c, sizeof (c) , ping_id), 1 );
84
85
}
85
86
86
87
TEST (PingArray, PingId0IsInvalid) {
87
88
Ping_Array_Ptr const arr (ping_array_new (2 , 1 ));
88
89
Mono_Time_Ptr const mono_time (mono_time_new ());
89
90
90
- EXPECT_EQ (ping_array_check (arr.get (), mono_time.get (), nullptr , 0 , 0 ), -1 );
91
+ uint8_t c = 0 ;
92
+ EXPECT_EQ (ping_array_check (arr.get (), mono_time.get (), &c, sizeof (c), 0 ), -1 );
91
93
}
92
94
93
95
// Protection against replay attacks.
94
96
TEST (PingArray, DataCanOnlyBeRetrievedOnce) {
95
97
Ping_Array_Ptr const arr (ping_array_new (2 , 1 ));
96
98
Mono_Time_Ptr const mono_time (mono_time_new ());
97
99
98
- uint64_t const ping_id = ping_array_add (arr.get (), mono_time.get (), nullptr , 0 );
100
+ uint8_t c = 0 ;
101
+ uint64_t const ping_id = ping_array_add (arr.get (), mono_time.get (), &c, sizeof (c));
99
102
EXPECT_NE (ping_id, 0 );
100
103
101
- EXPECT_EQ (ping_array_check (arr.get (), mono_time.get (), nullptr , 0 , ping_id), 0 );
102
- EXPECT_EQ (ping_array_check (arr.get (), mono_time.get (), nullptr , 0 , ping_id), -1 );
104
+ EXPECT_EQ (ping_array_check (arr.get (), mono_time.get (), &c, sizeof (c) , ping_id), 1 );
105
+ EXPECT_EQ (ping_array_check (arr.get (), mono_time.get (), &c, sizeof (c) , ping_id), -1 );
103
106
}
104
107
105
108
TEST (PingArray, PingIdMustMatchOnCheck) {
106
109
Ping_Array_Ptr const arr (ping_array_new (1 , 1 ));
107
110
Mono_Time_Ptr const mono_time (mono_time_new ());
108
111
109
- uint64_t const ping_id = ping_array_add (arr.get (), mono_time.get (), nullptr , 0 );
112
+ uint8_t c = 0 ;
113
+ uint64_t const ping_id = ping_array_add (arr.get (), mono_time.get (), &c, sizeof (c));
110
114
EXPECT_NE (ping_id, 0 );
111
115
112
116
uint64_t const bad_ping_id = ping_id == 1 ? 2 : 1 ;
113
117
114
118
// bad_ping_id will also be pointing at the same element, but won't match the
115
119
// actual ping_id.
116
- EXPECT_EQ (ping_array_check (arr.get (), mono_time.get (), nullptr , 0 , bad_ping_id), -1 );
117
- EXPECT_EQ (ping_array_check (arr.get (), mono_time.get (), nullptr , 0 , ping_id), 0 );
120
+ EXPECT_EQ (ping_array_check (arr.get (), mono_time.get (), &c, sizeof (c) , bad_ping_id), -1 );
121
+ EXPECT_EQ (ping_array_check (arr.get (), mono_time.get (), &c, sizeof (c) , ping_id), 1 );
118
122
}
119
123
120
124
} // namespace
0 commit comments