Changeset 74
- Timestamp:
- 04/25/05 17:29:58
- Files:
-
- openpgpsdk/trunk/src/packet-parse.c (modified) (3 diffs)
- openpgpsdk/trunk/src/packet.h (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
openpgpsdk/trunk/src/packet-parse.c
r72 r74 357 357 break; 358 358 359 case OPS_PTAG_SS_PREFERRED_SKA: 360 ops_ss_preferred_ska_free(&c->content.ss_preferred_ska); 361 break; 362 359 363 case OPS_PARSER_PACKET_END: 360 364 ops_packet_free(&c->content.packet); … … 697 701 698 702 C.ss_preferred_ska.len = subregion.length - subregion.length_read; 699 /* Do sanity check on length */ 700 if (C.ss_preferred_ska.len > MAX_PREFERRED_SKA) 701 { 702 ERR1 703 ("Warning: Truncated Preferred Symmetric Algorithm - subpacket %d octets", 704 C.ss_preferred_ska.len); 705 C.ss_preferred_ska.len = MAX_PREFERRED_SKA; 706 } 703 C.ss_preferred_ska.data = malloc(C.ss_preferred_ska.len); 704 707 705 if (!ops_limited_read(C.ss_preferred_ska.data, 708 706 C.ss_preferred_ska.len, &subregion, opt)) … … 765 763 766 764 return 1; 765 } 766 767 /** ops_ss_preferred_ska_free(ops_ss_preferred_ska_t * ss_preferred_ska) 768 */ 769 770 void ops_ss_preferred_ska_free(ops_ss_preferred_ska_t * ss_preferred_ska) 771 { 772 free(ss_preferred_ska->data); 773 ss_preferred_ska->data=NULL; 774 ss_preferred_ska->len=0; 767 775 } 768 776 openpgpsdk/trunk/src/packet.h
r73 r74 414 414 } ops_ss_key_id_t; 415 415 416 /* MAX PREFERRED ALGORITHMS is defined to provide an upper bound417 * on the size of array to be used to stored the array given in the418 * Preferred Symmetric Algorithms signature sub-packet.419 * The value has been arbitrarily chosen to allow for an array420 * which includes each SKA currently defined in rfc2440bis421 */422 423 #define MAX_PREFERRED_SKA 22424 416 typedef struct 425 417 { … … 428 420 The value 0 may represent the plaintext algorithm 429 421 so we cannot expect a null-terminated list */ 430 unsigned char data[MAX_PREFERRED_SKA];422 unsigned char * data; 431 423 } ops_ss_preferred_ska_t; 432 424 … … 516 508 void ops_user_id_free(ops_user_id_t *id); 517 509 void ops_signature_free(ops_signature_t *sig); 510 void ops_ss_preferred_ska_free(ops_ss_preferred_ska_t *ss_preferred_ska); 518 511 void ops_packet_free(ops_packet_t *packet); 519 520 512 void ops_parser_content_free(ops_parser_content_t *c); 521 513
