xref: /freebsd-src/crypto/openssh/regress/unittests/sshbuf/test_sshbuf.c (revision a0ee8cc636cd5c2374ec44ca71226564ea0bca95)
1*a0ee8cc6SDag-Erling Smørgrav /* 	$OpenBSD: test_sshbuf.c,v 1.1 2014/04/30 05:32:00 djm Exp $ */
2*a0ee8cc6SDag-Erling Smørgrav /*
3*a0ee8cc6SDag-Erling Smørgrav  * Regress test for sshbuf.h buffer API
4*a0ee8cc6SDag-Erling Smørgrav  *
5*a0ee8cc6SDag-Erling Smørgrav  * Placed in the public domain
6*a0ee8cc6SDag-Erling Smørgrav  */
7*a0ee8cc6SDag-Erling Smørgrav 
8*a0ee8cc6SDag-Erling Smørgrav #define SSHBUF_INTERNAL 1	/* access internals for testing */
9*a0ee8cc6SDag-Erling Smørgrav #include "includes.h"
10*a0ee8cc6SDag-Erling Smørgrav 
11*a0ee8cc6SDag-Erling Smørgrav #include <sys/types.h>
12*a0ee8cc6SDag-Erling Smørgrav #include <sys/param.h>
13*a0ee8cc6SDag-Erling Smørgrav #include <stdio.h>
14*a0ee8cc6SDag-Erling Smørgrav #ifdef HAVE_STDINT_H
15*a0ee8cc6SDag-Erling Smørgrav # include <stdint.h>
16*a0ee8cc6SDag-Erling Smørgrav #endif
17*a0ee8cc6SDag-Erling Smørgrav #include <stdlib.h>
18*a0ee8cc6SDag-Erling Smørgrav #include <string.h>
19*a0ee8cc6SDag-Erling Smørgrav 
20*a0ee8cc6SDag-Erling Smørgrav #include "../test_helper/test_helper.h"
21*a0ee8cc6SDag-Erling Smørgrav 
22*a0ee8cc6SDag-Erling Smørgrav #include "ssherr.h"
23*a0ee8cc6SDag-Erling Smørgrav #include "sshbuf.h"
24*a0ee8cc6SDag-Erling Smørgrav 
25*a0ee8cc6SDag-Erling Smørgrav void sshbuf_tests(void);
26*a0ee8cc6SDag-Erling Smørgrav 
27*a0ee8cc6SDag-Erling Smørgrav void
28*a0ee8cc6SDag-Erling Smørgrav sshbuf_tests(void)
29*a0ee8cc6SDag-Erling Smørgrav {
30*a0ee8cc6SDag-Erling Smørgrav 	struct sshbuf *p1;
31*a0ee8cc6SDag-Erling Smørgrav 	const u_char *cdp;
32*a0ee8cc6SDag-Erling Smørgrav 	u_char *dp;
33*a0ee8cc6SDag-Erling Smørgrav 	size_t sz;
34*a0ee8cc6SDag-Erling Smørgrav 	int r;
35*a0ee8cc6SDag-Erling Smørgrav 
36*a0ee8cc6SDag-Erling Smørgrav 	TEST_START("allocate sshbuf");
37*a0ee8cc6SDag-Erling Smørgrav 	p1 = sshbuf_new();
38*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_PTR_NE(p1, NULL);
39*a0ee8cc6SDag-Erling Smørgrav 	TEST_DONE();
40*a0ee8cc6SDag-Erling Smørgrav 
41*a0ee8cc6SDag-Erling Smørgrav 	TEST_START("max size on fresh buffer");
42*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_GT(sshbuf_max_size(p1), 0);
43*a0ee8cc6SDag-Erling Smørgrav 	TEST_DONE();
44*a0ee8cc6SDag-Erling Smørgrav 
45*a0ee8cc6SDag-Erling Smørgrav 	TEST_START("available on fresh buffer");
46*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_GT(sshbuf_avail(p1), 0);
47*a0ee8cc6SDag-Erling Smørgrav 	TEST_DONE();
48*a0ee8cc6SDag-Erling Smørgrav 
49*a0ee8cc6SDag-Erling Smørgrav 	TEST_START("len = 0 on empty buffer");
50*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_len(p1), 0);
51*a0ee8cc6SDag-Erling Smørgrav 	TEST_DONE();
52*a0ee8cc6SDag-Erling Smørgrav 
53*a0ee8cc6SDag-Erling Smørgrav 	TEST_START("set valid max size");
54*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(sshbuf_set_max_size(p1, 65536), 0);
55*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_max_size(p1), 65536);
56*a0ee8cc6SDag-Erling Smørgrav 	TEST_DONE();
57*a0ee8cc6SDag-Erling Smørgrav 
58*a0ee8cc6SDag-Erling Smørgrav 	TEST_START("available on limited buffer");
59*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_avail(p1), 65536);
60*a0ee8cc6SDag-Erling Smørgrav 	TEST_DONE();
61*a0ee8cc6SDag-Erling Smørgrav 
62*a0ee8cc6SDag-Erling Smørgrav 	TEST_START("free");
63*a0ee8cc6SDag-Erling Smørgrav 	sshbuf_free(p1);
64*a0ee8cc6SDag-Erling Smørgrav 	TEST_DONE();
65*a0ee8cc6SDag-Erling Smørgrav 
66*a0ee8cc6SDag-Erling Smørgrav 	TEST_START("consume on empty buffer");
67*a0ee8cc6SDag-Erling Smørgrav 	p1 = sshbuf_new();
68*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_PTR_NE(p1, NULL);
69*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(sshbuf_consume(p1, 0), 0);
70*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(sshbuf_consume(p1, 1), SSH_ERR_MESSAGE_INCOMPLETE);
71*a0ee8cc6SDag-Erling Smørgrav 	sshbuf_free(p1);
72*a0ee8cc6SDag-Erling Smørgrav 	TEST_DONE();
73*a0ee8cc6SDag-Erling Smørgrav 
74*a0ee8cc6SDag-Erling Smørgrav 	TEST_START("consume_end on empty buffer");
75*a0ee8cc6SDag-Erling Smørgrav 	p1 = sshbuf_new();
76*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_PTR_NE(p1, NULL);
77*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(sshbuf_consume_end(p1, 0), 0);
78*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(sshbuf_consume_end(p1, 1), SSH_ERR_MESSAGE_INCOMPLETE);
79*a0ee8cc6SDag-Erling Smørgrav 	sshbuf_free(p1);
80*a0ee8cc6SDag-Erling Smørgrav 	TEST_DONE();
81*a0ee8cc6SDag-Erling Smørgrav 
82*a0ee8cc6SDag-Erling Smørgrav 	TEST_START("reserve space");
83*a0ee8cc6SDag-Erling Smørgrav 	p1 = sshbuf_new();
84*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_PTR_NE(p1, NULL);
85*a0ee8cc6SDag-Erling Smørgrav 	r = sshbuf_reserve(p1, 1, &dp);
86*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(r, 0);
87*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_PTR_NE(dp, NULL);
88*a0ee8cc6SDag-Erling Smørgrav 	*dp = 0x11;
89*a0ee8cc6SDag-Erling Smørgrav 	r = sshbuf_reserve(p1, 3, &dp);
90*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(r, 0);
91*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_PTR_NE(dp, NULL);
92*a0ee8cc6SDag-Erling Smørgrav 	*dp++ = 0x22;
93*a0ee8cc6SDag-Erling Smørgrav 	*dp++ = 0x33;
94*a0ee8cc6SDag-Erling Smørgrav 	*dp++ = 0x44;
95*a0ee8cc6SDag-Erling Smørgrav 	TEST_DONE();
96*a0ee8cc6SDag-Erling Smørgrav 
97*a0ee8cc6SDag-Erling Smørgrav 	TEST_START("sshbuf_len on filled buffer");
98*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_len(p1), 4);
99*a0ee8cc6SDag-Erling Smørgrav 	TEST_DONE();
100*a0ee8cc6SDag-Erling Smørgrav 
101*a0ee8cc6SDag-Erling Smørgrav 	TEST_START("sshbuf_ptr on filled buffer");
102*a0ee8cc6SDag-Erling Smørgrav 	cdp = sshbuf_ptr(p1);
103*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_PTR_NE(cdp, NULL);
104*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_U8_EQ(cdp[0], 0x11);
105*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_U8_EQ(cdp[1], 0x22);
106*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_U8_EQ(cdp[2], 0x33);
107*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_U8_EQ(cdp[3], 0x44);
108*a0ee8cc6SDag-Erling Smørgrav 	TEST_DONE();
109*a0ee8cc6SDag-Erling Smørgrav 
110*a0ee8cc6SDag-Erling Smørgrav 	TEST_START("consume on filled buffer");
111*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_len(p1), 4);
112*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(sshbuf_consume(p1, 0), 0);
113*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_len(p1), 4);
114*a0ee8cc6SDag-Erling Smørgrav 	r = sshbuf_consume(p1, 64);
115*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(r, SSH_ERR_MESSAGE_INCOMPLETE);
116*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_len(p1), 4);
117*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(sshbuf_consume(p1, 1), 0);
118*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_len(p1), 3);
119*a0ee8cc6SDag-Erling Smørgrav 	cdp = sshbuf_ptr(p1);
120*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_PTR_NE(p1, NULL);
121*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_U8_EQ(cdp[0], 0x22);
122*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(sshbuf_consume(p1, 2), 0);
123*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_len(p1), 1);
124*a0ee8cc6SDag-Erling Smørgrav 	cdp = sshbuf_ptr(p1);
125*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_PTR_NE(p1, NULL);
126*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_U8_EQ(cdp[0], 0x44);
127*a0ee8cc6SDag-Erling Smørgrav 	r = sshbuf_consume(p1, 2);
128*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(r, SSH_ERR_MESSAGE_INCOMPLETE);
129*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_len(p1), 1);
130*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(sshbuf_consume(p1, 1), 0);
131*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_len(p1), 0);
132*a0ee8cc6SDag-Erling Smørgrav 	r = sshbuf_consume(p1, 1);
133*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(r, SSH_ERR_MESSAGE_INCOMPLETE);
134*a0ee8cc6SDag-Erling Smørgrav 	sshbuf_free(p1);
135*a0ee8cc6SDag-Erling Smørgrav 	TEST_DONE();
136*a0ee8cc6SDag-Erling Smørgrav 
137*a0ee8cc6SDag-Erling Smørgrav 	TEST_START("consume_end on filled buffer");
138*a0ee8cc6SDag-Erling Smørgrav 	p1 = sshbuf_new();
139*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_PTR_NE(p1, NULL);
140*a0ee8cc6SDag-Erling Smørgrav 	r = sshbuf_reserve(p1, 4, &dp);
141*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(r, 0);
142*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_PTR_NE(dp, NULL);
143*a0ee8cc6SDag-Erling Smørgrav 	*dp++ = 0x11;
144*a0ee8cc6SDag-Erling Smørgrav 	*dp++ = 0x22;
145*a0ee8cc6SDag-Erling Smørgrav 	*dp++ = 0x33;
146*a0ee8cc6SDag-Erling Smørgrav 	*dp++ = 0x44;
147*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_len(p1), 4);
148*a0ee8cc6SDag-Erling Smørgrav 	r = sshbuf_consume_end(p1, 5);
149*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(r, SSH_ERR_MESSAGE_INCOMPLETE);
150*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_len(p1), 4);
151*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(sshbuf_consume_end(p1, 3), 0);
152*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_len(p1), 1);
153*a0ee8cc6SDag-Erling Smørgrav 	cdp = sshbuf_ptr(p1);
154*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_PTR_NE(cdp, NULL);
155*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_U8_EQ(*cdp, 0x11);
156*a0ee8cc6SDag-Erling Smørgrav 	r = sshbuf_consume_end(p1, 2);
157*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(r, SSH_ERR_MESSAGE_INCOMPLETE);
158*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(sshbuf_consume_end(p1, 1), 0);
159*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_len(p1), 0);
160*a0ee8cc6SDag-Erling Smørgrav 	sshbuf_free(p1);
161*a0ee8cc6SDag-Erling Smørgrav 	TEST_DONE();
162*a0ee8cc6SDag-Erling Smørgrav 
163*a0ee8cc6SDag-Erling Smørgrav 	TEST_START("fill limited buffer");
164*a0ee8cc6SDag-Erling Smørgrav 	p1 = sshbuf_new();
165*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_PTR_NE(p1, NULL);
166*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(sshbuf_set_max_size(p1, 1223), 0);
167*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_max_size(p1), 1223);
168*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_avail(p1), 1223);
169*a0ee8cc6SDag-Erling Smørgrav 	r = sshbuf_reserve(p1, 1223, &dp);
170*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(r, 0);
171*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_PTR_NE(dp, NULL);
172*a0ee8cc6SDag-Erling Smørgrav 	memset(dp, 0xd7, 1223);
173*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_len(p1), 1223);
174*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_avail(p1), 0);
175*a0ee8cc6SDag-Erling Smørgrav 	r = sshbuf_reserve(p1, 1, &dp);
176*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(r, SSH_ERR_NO_BUFFER_SPACE);
177*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_PTR_EQ(dp, NULL);
178*a0ee8cc6SDag-Erling Smørgrav 	TEST_DONE();
179*a0ee8cc6SDag-Erling Smørgrav 
180*a0ee8cc6SDag-Erling Smørgrav 	TEST_START("consume and force compaction");
181*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(sshbuf_consume(p1, 223), 0);
182*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_len(p1), 1000);
183*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_avail(p1), 223);
184*a0ee8cc6SDag-Erling Smørgrav 	r = sshbuf_reserve(p1, 224, &dp);
185*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(r, SSH_ERR_NO_BUFFER_SPACE);
186*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_PTR_EQ(dp, NULL);
187*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_len(p1), 1000);
188*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_avail(p1), 223);
189*a0ee8cc6SDag-Erling Smørgrav 	r = sshbuf_reserve(p1, 223, &dp);
190*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(r, 0);
191*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_PTR_NE(dp, NULL);
192*a0ee8cc6SDag-Erling Smørgrav 	memset(dp, 0x7d, 223);
193*a0ee8cc6SDag-Erling Smørgrav 	cdp = sshbuf_ptr(p1);
194*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_PTR_NE(cdp, NULL);
195*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_MEM_FILLED_EQ(cdp, 0xd7, 1000);
196*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_MEM_FILLED_EQ(cdp + 1000, 0x7d, 223);
197*a0ee8cc6SDag-Erling Smørgrav 	TEST_DONE();
198*a0ee8cc6SDag-Erling Smørgrav 
199*a0ee8cc6SDag-Erling Smørgrav 	TEST_START("resize full buffer");
200*a0ee8cc6SDag-Erling Smørgrav 	r = sshbuf_set_max_size(p1, 1000);
201*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(r, SSH_ERR_NO_BUFFER_SPACE);
202*a0ee8cc6SDag-Erling Smørgrav 	sz = roundup(1223 + SSHBUF_SIZE_INC * 3, SSHBUF_SIZE_INC);
203*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(sshbuf_set_max_size(p1, sz), 0);
204*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_max_size(p1), sz);
205*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_avail(p1), sz - 1223);
206*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(sshbuf_len(p1), 1223);
207*a0ee8cc6SDag-Erling Smørgrav 	TEST_DONE();
208*a0ee8cc6SDag-Erling Smørgrav 
209*a0ee8cc6SDag-Erling Smørgrav 	/* NB. uses sshbuf internals */
210*a0ee8cc6SDag-Erling Smørgrav 	TEST_START("alloc chunking");
211*a0ee8cc6SDag-Erling Smørgrav 	r = sshbuf_reserve(p1, 1, &dp);
212*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(r, 0);
213*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_PTR_NE(dp, NULL);
214*a0ee8cc6SDag-Erling Smørgrav 	*dp = 0xff;
215*a0ee8cc6SDag-Erling Smørgrav 	cdp = sshbuf_ptr(p1);
216*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_PTR_NE(cdp, NULL);
217*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_MEM_FILLED_EQ(cdp, 0xd7, 1000);
218*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_MEM_FILLED_EQ(cdp + 1000, 0x7d, 223);
219*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_MEM_FILLED_EQ(cdp + 1223, 0xff, 1);
220*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_alloc(p1) % SSHBUF_SIZE_INC, 0);
221*a0ee8cc6SDag-Erling Smørgrav 	sshbuf_free(p1);
222*a0ee8cc6SDag-Erling Smørgrav 	TEST_DONE();
223*a0ee8cc6SDag-Erling Smørgrav 
224*a0ee8cc6SDag-Erling Smørgrav 	TEST_START("reset buffer");
225*a0ee8cc6SDag-Erling Smørgrav 	p1 = sshbuf_new();
226*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_PTR_NE(p1, NULL);
227*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(sshbuf_set_max_size(p1, 1223), 0);
228*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_max_size(p1), 1223);
229*a0ee8cc6SDag-Erling Smørgrav 	r = sshbuf_reserve(p1, 1223, &dp);
230*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_INT_EQ(r, 0);
231*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_PTR_NE(dp, NULL);
232*a0ee8cc6SDag-Erling Smørgrav 	memset(dp, 0xd7, 1223);
233*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_len(p1), 1223);
234*a0ee8cc6SDag-Erling Smørgrav 	sshbuf_reset(p1);
235*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_max_size(p1), 1223);
236*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_len(p1), 0);
237*a0ee8cc6SDag-Erling Smørgrav 	ASSERT_SIZE_T_EQ(sshbuf_avail(p1), 1223);
238*a0ee8cc6SDag-Erling Smørgrav 	sshbuf_free(p1);
239*a0ee8cc6SDag-Erling Smørgrav 	TEST_DONE();
240*a0ee8cc6SDag-Erling Smørgrav }
241