diff options
author | tb <> | 2023-05-23 11:05:09 +0000 |
---|---|---|
committer | tb <> | 2023-05-23 11:05:09 +0000 |
commit | 399ec1a4d0d69dd285ac91599a8df3a639ba71e8 (patch) | |
tree | 15ce8bdb6d847090e0c60a7daab6c04b0eb837fe /src | |
parent | 816cb4ff9bb4cb6597de02367f7c5abca27b4b58 (diff) | |
download | openbsd-399ec1a4d0d69dd285ac91599a8df3a639ba71e8.tar.gz openbsd-399ec1a4d0d69dd285ac91599a8df3a639ba71e8.tar.bz2 openbsd-399ec1a4d0d69dd285ac91599a8df3a639ba71e8.zip |
Add regress coverage for obj_dat.c r1.52
Diffstat (limited to 'src')
-rw-r--r-- | src/regress/lib/libcrypto/objects/objectstest.c | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/src/regress/lib/libcrypto/objects/objectstest.c b/src/regress/lib/libcrypto/objects/objectstest.c index dba38644cf..cb22709997 100644 --- a/src/regress/lib/libcrypto/objects/objectstest.c +++ b/src/regress/lib/libcrypto/objects/objectstest.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: objectstest.c,v 1.6 2022/09/05 21:06:31 tb Exp $ */ | 1 | /* $OpenBSD: objectstest.c,v 1.7 2023/05/23 11:05:09 tb Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2017, 2022 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2017, 2022 Joel Sing <jsing@openbsd.org> |
4 | * | 4 | * |
@@ -397,6 +397,47 @@ obj_txt_test(struct obj_test *ot) | |||
397 | } | 397 | } |
398 | 398 | ||
399 | static int | 399 | static int |
400 | obj_txt_early_nul_test(void) | ||
401 | { | ||
402 | ASN1_OBJECT *obj = NULL; | ||
403 | char buf[2]; | ||
404 | int failed = 1; | ||
405 | |||
406 | buf[0] = 'x'; | ||
407 | buf[1] = '\0'; | ||
408 | |||
409 | if (OBJ_obj2txt(buf, sizeof(buf), NULL, 1) != 0) { | ||
410 | fprintf(stderr, "FAIL: OBJ_obj2txt(NULL) succeded\n"); | ||
411 | goto failed; | ||
412 | } | ||
413 | if (buf[0] != '\0') { | ||
414 | fprintf(stderr, "FAIL: OBJ_obj2txt(NULL) did not NUL terminate\n"); | ||
415 | goto failed; | ||
416 | } | ||
417 | |||
418 | if ((obj = ASN1_OBJECT_new()) == NULL) | ||
419 | errx(1, "ASN1_OBJECT_new"); | ||
420 | |||
421 | buf[0] = 'x'; | ||
422 | buf[1] = '\0'; | ||
423 | |||
424 | if (OBJ_obj2txt(buf, sizeof(buf), obj, 1) != 0) { | ||
425 | fprintf(stderr, "FAIL: OBJ_obj2txt(obj) succeeded\n"); | ||
426 | goto failed; | ||
427 | } | ||
428 | if (buf[0] != '\0') { | ||
429 | fprintf(stderr, "FAIL: OBJ_obj2txt(obj) did not NUL terminate\n"); | ||
430 | goto failed; | ||
431 | } | ||
432 | |||
433 | failed = 0; | ||
434 | failed: | ||
435 | ASN1_OBJECT_free(obj); | ||
436 | |||
437 | return failed; | ||
438 | } | ||
439 | |||
440 | static int | ||
400 | obj_txt_tests(void) | 441 | obj_txt_tests(void) |
401 | { | 442 | { |
402 | int failed = 0; | 443 | int failed = 0; |
@@ -405,6 +446,8 @@ obj_txt_tests(void) | |||
405 | for (i = 0; i < N_OBJ_TESTS; i++) | 446 | for (i = 0; i < N_OBJ_TESTS; i++) |
406 | failed |= obj_txt_test(&obj_tests[i]); | 447 | failed |= obj_txt_test(&obj_tests[i]); |
407 | 448 | ||
449 | failed |= obj_txt_early_nul_test(); | ||
450 | |||
408 | return failed; | 451 | return failed; |
409 | } | 452 | } |
410 | 453 | ||