summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/regress/lib/libcrypto/cms/cmstest.c42
1 files changed, 27 insertions, 15 deletions
diff --git a/src/regress/lib/libcrypto/cms/cmstest.c b/src/regress/lib/libcrypto/cms/cmstest.c
index 4ff1e1efb8..9046ba1a1b 100644
--- a/src/regress/lib/libcrypto/cms/cmstest.c
+++ b/src/regress/lib/libcrypto/cms/cmstest.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: cmstest.c,v 1.5 2022/06/22 09:56:45 tb Exp $ */ 1/* $OpenBSD: cmstest.c,v 1.6 2023/03/02 21:07:21 tb Exp $ */
2/* 2/*
3 * Copyright (c) 2019 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2019 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -118,6 +118,7 @@ test_cms_encrypt_decrypt(void)
118 BIO *bio_out = NULL; 118 BIO *bio_out = NULL;
119 X509 *cert = NULL; 119 X509 *cert = NULL;
120 size_t len; 120 size_t len;
121 long mem_len;
121 char *p; 122 char *p;
122 int failed = 1; 123 int failed = 1;
123 124
@@ -166,21 +167,26 @@ test_cms_encrypt_decrypt(void)
166 goto failure; 167 goto failure;
167 } 168 }
168 169
169 if ((len = BIO_get_mem_data(bio_mem, &p)) != strlen(cms_msg)) { 170 if ((mem_len = BIO_get_mem_data(bio_mem, &p)) <= 0) {
170 fprintf(stderr, "FAIL: CMS decrypt returned %zu bytes, " 171 fprintf(stderr, "FAIL: BIO_get_mem_data returned %ld\n",
171 "want %zu bytes\n", len, strlen(cms_msg)); 172 mem_len);
173 goto failure;
174 }
175 if ((len = strlen(cms_msg)) != (size_t)mem_len) {
176 fprintf(stderr, "FAIL: CMS decrypt returned %ld bytes, "
177 "want %zu bytes\n", mem_len, len);
172 fprintf(stderr, "Got CMS data:\n"); 178 fprintf(stderr, "Got CMS data:\n");
173 hexdump(p, len); 179 hexdump(p, mem_len);
174 fprintf(stderr, "Want CMS data:\n"); 180 fprintf(stderr, "Want CMS data:\n");
175 hexdump(cms_msg, strlen(cms_msg)); 181 hexdump(cms_msg, len);
176 goto failure; 182 goto failure;
177 } 183 }
178 if (memcmp(p, cms_msg, len) != 0) { 184 if (memcmp(p, cms_msg, len) != 0) {
179 fprintf(stderr, "FAIL: CMS decrypt message differs"); 185 fprintf(stderr, "FAIL: CMS decrypt message differs");
180 fprintf(stderr, "Got CMS data:\n"); 186 fprintf(stderr, "Got CMS data:\n");
181 hexdump(p, len); 187 hexdump(p, mem_len);
182 fprintf(stderr, "Want CMS data:\n"); 188 fprintf(stderr, "Want CMS data:\n");
183 hexdump(cms_msg, strlen(cms_msg)); 189 hexdump(cms_msg, len);
184 goto failure; 190 goto failure;
185 } 191 }
186 192
@@ -209,6 +215,7 @@ test_cms_sign_verify(void)
209 X509 *cert = NULL; 215 X509 *cert = NULL;
210 X509 *ca = NULL; 216 X509 *ca = NULL;
211 size_t len; 217 size_t len;
218 long mem_len;
212 char *p; 219 char *p;
213 int failed = 1; 220 int failed = 1;
214 221
@@ -267,21 +274,26 @@ test_cms_sign_verify(void)
267 goto failure; 274 goto failure;
268 } 275 }
269 276
270 if ((len = BIO_get_mem_data(bio_mem, &p)) != strlen(cms_msg)) { 277 if ((mem_len = BIO_get_mem_data(bio_mem, &p)) <= 0) {
271 fprintf(stderr, "FAIL: CMS verify returned %zu bytes, " 278 fprintf(stderr, "FAIL: BIO_get_mem_data returned %ld\n",
272 "want %zu bytes\n", len, strlen(cms_msg)); 279 mem_len);
280 goto failure;
281 }
282 if ((len = strlen(cms_msg)) != (size_t)mem_len) {
283 fprintf(stderr, "FAIL: CMS verify returned %ld bytes, "
284 "want %zu bytes\n", mem_len, len);
273 fprintf(stderr, "Got CMS data:\n"); 285 fprintf(stderr, "Got CMS data:\n");
274 hexdump(p, len); 286 hexdump(p, mem_len);
275 fprintf(stderr, "Want CMS data:\n"); 287 fprintf(stderr, "Want CMS data:\n");
276 hexdump(cms_msg, strlen(cms_msg)); 288 hexdump(cms_msg, len);
277 goto failure; 289 goto failure;
278 } 290 }
279 if (memcmp(p, cms_msg, len) != 0) { 291 if (memcmp(p, cms_msg, len) != 0) {
280 fprintf(stderr, "FAIL: CMS verify message differs"); 292 fprintf(stderr, "FAIL: CMS verify message differs");
281 fprintf(stderr, "Got CMS data:\n"); 293 fprintf(stderr, "Got CMS data:\n");
282 hexdump(p, len); 294 hexdump(p, mem_len);
283 fprintf(stderr, "Want CMS data:\n"); 295 fprintf(stderr, "Want CMS data:\n");
284 hexdump(cms_msg, strlen(cms_msg)); 296 hexdump(cms_msg, len);
285 goto failure; 297 goto failure;
286 } 298 }
287 299