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 | ||
