@@ -61,6 +61,7 @@ static int _ssh_encoding_test(void)
6161{
6262 unsigned char buffer [BUFSIZE ];
6363 unsigned long buflen ;
64+ ulong32 len ;
6465 void * v , * zero ;
6566 int err ;
6667
@@ -124,8 +125,9 @@ static int _ssh_encoding_test(void)
124125 /* string */
125126 buflen = BUFSIZE ;
126127 zeromem (buffer , BUFSIZE );
128+ len = strlen ("testing" );
127129 DO (ssh_encode_sequence_multi (buffer , & buflen ,
128- LTC_SSHDATA_STRING , "testing" ,
130+ LTC_SSHDATA_STRING , "testing" , len ,
129131 LTC_SSHDATA_EOL , NULL ));
130132 COMPARE_TESTVECTOR (buffer , buflen , string , sizeof (string ), "enc-string" , 1 );
131133
@@ -165,22 +167,25 @@ static int _ssh_encoding_test(void)
165167 /* name-list */
166168 buflen = BUFSIZE ;
167169 zeromem (buffer , BUFSIZE );
170+ len = strlen ("" );
168171 DO (ssh_encode_sequence_multi (buffer , & buflen ,
169- LTC_SSHDATA_NAMELIST , "" ,
172+ LTC_SSHDATA_NAMELIST , "" , len ,
170173 LTC_SSHDATA_EOL , NULL ));
171174 COMPARE_TESTVECTOR (buffer , buflen , nlist1 , sizeof (nlist1 ), "enc-nlist" , 1 );
172175
173176 buflen = BUFSIZE ;
174177 zeromem (buffer , BUFSIZE );
178+ len = strlen ("zlib" );
175179 DO (ssh_encode_sequence_multi (buffer , & buflen ,
176- LTC_SSHDATA_NAMELIST , "zlib" ,
180+ LTC_SSHDATA_NAMELIST , "zlib" , len ,
177181 LTC_SSHDATA_EOL , NULL ));
178182 COMPARE_TESTVECTOR (buffer , buflen , nlist2 , sizeof (nlist2 ), "enc-nlist" , 2 );
179183
180184 buflen = BUFSIZE ;
181185 zeromem (buffer , BUFSIZE );
186+ len = strlen ("zlib,none" );
182187 DO (ssh_encode_sequence_multi (buffer , & buflen ,
183- LTC_SSHDATA_NAMELIST , "zlib,none" ,
188+ LTC_SSHDATA_NAMELIST , "zlib,none" , len ,
184189 LTC_SSHDATA_EOL , NULL ));
185190 COMPARE_TESTVECTOR (buffer , buflen , nlist3 , sizeof (nlist3 ), "enc-nlist" , 3 );
186191
@@ -195,6 +200,7 @@ static int _ssh_decoding_test(void)
195200{
196201 char strbuf [BUFSIZE ];
197202 void * u , * v ;
203+ ulong32 size ;
198204 ulong32 tmp32 ;
199205 ulong64 tmp64 ;
200206 unsigned char tmp8 ;
@@ -236,9 +242,11 @@ static int _ssh_decoding_test(void)
236242
237243 /* string */
238244 zeromem (strbuf , BUFSIZE );
245+ size = BUFSIZE ;
239246 DO (ssh_decode_sequence_multi (string , sizeof (string ),
240- LTC_SSHDATA_STRING , strbuf , BUFSIZE ,
247+ LTC_SSHDATA_STRING , strbuf , & size ,
241248 LTC_SSHDATA_EOL , NULL ));
249+ ENSURE (strlen ("testing" ) == size );
242250 ENSURE (XSTRCMP (strbuf , "testing" ) == 0 );
243251
244252 /* mpint */
@@ -266,21 +274,27 @@ static int _ssh_decoding_test(void)
266274
267275 /* name-list */
268276 zeromem (strbuf , BUFSIZE );
277+ size = BUFSIZE ;
269278 DO (ssh_decode_sequence_multi (nlist1 , sizeof (nlist1 ),
270- LTC_SSHDATA_NAMELIST , strbuf , BUFSIZE ,
279+ LTC_SSHDATA_NAMELIST , strbuf , & size ,
271280 LTC_SSHDATA_EOL , NULL ));
281+ ENSURE (strlen ("" ) == size );
272282 ENSURE (XSTRCMP (strbuf , "" ) == 0 );
273283
274284 zeromem (strbuf , BUFSIZE );
285+ size = BUFSIZE ;
275286 DO (ssh_decode_sequence_multi (nlist2 , sizeof (nlist2 ),
276- LTC_SSHDATA_NAMELIST , strbuf , BUFSIZE ,
287+ LTC_SSHDATA_NAMELIST , strbuf , & size ,
277288 LTC_SSHDATA_EOL , NULL ));
289+ ENSURE (strlen ("zlib" ) == size );
278290 ENSURE (XSTRCMP (strbuf , "zlib" ) == 0 );
279291
280292 zeromem (strbuf , BUFSIZE );
293+ size = BUFSIZE ;
281294 DO (ssh_decode_sequence_multi (nlist3 , sizeof (nlist3 ),
282- LTC_SSHDATA_NAMELIST , strbuf , BUFSIZE ,
295+ LTC_SSHDATA_NAMELIST , strbuf , & size ,
283296 LTC_SSHDATA_EOL , NULL ));
297+ ENSURE (strlen ("zlib,none" ) == size );
284298 ENSURE (XSTRCMP (strbuf , "zlib,none" ) == 0 );
285299
286300
0 commit comments