summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortb <>2023-05-23 11:05:09 +0000
committertb <>2023-05-23 11:05:09 +0000
commit399ec1a4d0d69dd285ac91599a8df3a639ba71e8 (patch)
tree15ce8bdb6d847090e0c60a7daab6c04b0eb837fe /src
parent816cb4ff9bb4cb6597de02367f7c5abca27b4b58 (diff)
downloadopenbsd-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.c45
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
399static int 399static int
400obj_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
440static int
400obj_txt_tests(void) 441obj_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