ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Convert-BER-XS/XS.xs
(Generate patch)

Comparing Convert-BER-XS/XS.xs (file contents):
Revision 1.17 by root, Sat Apr 20 15:45:21 2019 UTC vs.
Revision 1.18 by root, Sat Apr 20 16:12:53 2019 UTC

279 { 279 {
280 case 0: 280 case 0:
281 error ("indefinite ASN.1 lengths not supported"); 281 error ("indefinite ASN.1 lengths not supported");
282 return 0; 282 return 0;
283 283
284 //case 0x80: // indefinite length
285
286 //case 0xff: reserved
284 default: 287 default:
285 error ("ASN.1 length too long"); 288 error ("ASN.1 length too long");
286 return 0; 289 return 0;
287 290
288 case 8: res = (res << 8) | get_u8 (); 291 case 8: res = (res << 8) | get_u8 ();
382 static char oid[MAX_OID_STRLEN]; // static, becaueds too large for stack 385 static char oid[MAX_OID_STRLEN]; // static, becaueds too large for stack
383 char *app = oid; 386 char *app = oid;
384 387
385 if (relative) 388 if (relative)
386 app = write_uv (app, w); 389 app = write_uv (app, w);
387 else 390 else if (w < 2 * 40)
388 { 391 {
389 app = write_uv (app, (U8)w / 40); 392 app = write_uv (app, (U8)w / 40);
390 *app++ = '.'; 393 *app++ = '.';
391 app = write_uv (app, (U8)w % 40); 394 app = write_uv (app, (U8)w % 40);
395 }
396 else
397 {
398 app = write_uv (app, 2);
399 *app++ = '.';
400 app = write_uv (app, w - 2 * 40);
392 } 401 }
393 402
394 while (cur < end) 403 while (cur < end)
395 { 404 {
396 // we assume an oid component is never > 64 digits 405 // we assume an oid component is never > 64 digits

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines