Skip to content

Commit 3b66877

Browse files
committed
params: add test to prove the lifetimes are screwed
1 parent 672c6f8 commit 3b66877

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

openssl/src/params.rs

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -286,30 +286,36 @@ mod test {
286286
let e = BigNum::from_u32(0x10001).unwrap();
287287
let d = BigNum::from_u32(0x7b133399).unwrap();
288288

289+
let mut merged_params: Params<'_>;
289290
let params1 = ParamBuilder::new()
290291
.push_bignum(c_str(b"n\0"), &n)
291292
.unwrap()
292293
.build()
293294
.unwrap();
294-
let params2 = ParamBuilder::new()
295-
.push_bignum(c_str(b"e\0"), &e)
296-
.unwrap()
297-
.build()
298-
.unwrap();
299-
let params3 = ParamBuilder::new()
300-
.push_bignum(c_str(b"d\0"), &d)
301-
.unwrap()
302-
.build()
303-
.unwrap();
295+
{
296+
let params2 = ParamBuilder::new()
297+
.push_bignum(c_str(b"e\0"), &e)
298+
.unwrap()
299+
.build()
300+
.unwrap();
301+
merged_params = params1.merge(&params2).unwrap();
302+
}
304303

305304
// Merge 1 & 2, d (added in 3) should not be present
306-
let merged_params = params1.merge(&params2).unwrap();
307305
assert_param(&merged_params, c_str(b"n\0"), false);
308306
assert_param(&merged_params, c_str(b"e\0"), false);
309307
assert_param(&merged_params, c_str(b"d\0"), true);
310308

309+
{
310+
let params3 = ParamBuilder::new()
311+
.push_bignum(c_str(b"d\0"), &d)
312+
.unwrap()
313+
.build()
314+
.unwrap();
315+
merged_params = merged_params.merge(&params3).unwrap();
316+
}
317+
311318
// Merge 3 into 1+2, we should now have all params
312-
let merged_params = merged_params.merge(&params3).unwrap();
313319
assert_param(&merged_params, c_str(b"n\0"), false);
314320
assert_param(&merged_params, c_str(b"e\0"), false);
315321
assert_param(&merged_params, c_str(b"e\0"), false);

0 commit comments

Comments
 (0)