提交 52462e7d 编辑于 作者: Michael Rash's avatar Michael Rash
浏览文件

Use {0} initializer for all stack allocated char arrays

Lots of places in the code were already using {0} to initialize stack char
arrays, but memset() was being used as well.  This commit removes all
unnecessary memset() calls against char arrays that are already initialized
via {0} (which sets all members to zero for such arrays).
显示 76 个添加113 个删除
+76 -113
......@@ -278,12 +278,11 @@ static int
is_rc_section(const char* line, uint16_t line_size, char* rc_section, uint16_t rc_section_size)
{
char *ndx, *emark;
char buf[MAX_LINE_LEN];
char buf[MAX_LINE_LEN] = {0};
int section_found = 0;
if (line_size < sizeof(buf))
{
memset (buf, 0, sizeof(buf));
strlcpy(buf, line, sizeof(buf));
ndx = buf;
......@@ -426,7 +425,7 @@ parse_time_offset(const char *offset_str)
int os_len = strlen(offset_str);
int is_err;
char offset_digits[MAX_TIME_STR_LEN];
char offset_digits[MAX_TIME_STR_LEN] = {0};
j=0;
for (i=0; i < os_len; i++) {
......@@ -866,7 +865,7 @@ parse_rc_param(fko_cli_options_t *options, const char *var, char * val)
static void
add_single_var_to_rc(FILE* fhandle, uint16_t arg_ndx, fko_cli_options_t *options)
{
char val[MAX_LINE_LEN] = {0};
char val[MAX_LINE_LEN] = {0};
if (arg_ndx >= FWKNOP_CLI_ARG_NB)
return;
......@@ -874,10 +873,7 @@ add_single_var_to_rc(FILE* fhandle, uint16_t arg_ndx, fko_cli_options_t *options
if (fhandle == NULL)
return;
/* Zero the val buffer */
memset(val, 0, sizeof(val));
/* Selecty the argument to add and store its string value into val */
/* Select the argument to add and store its string value into val */
switch (arg_ndx)
{
case FWKNOP_CLI_ARG_DIGEST_TYPE :
......@@ -1033,8 +1029,8 @@ process_rc_section(char *section_name, fko_cli_options_t *options)
{
FILE *rc;
int line_num = 0, do_exit = 0;
char line[MAX_LINE_LEN];
char rcfile[MAX_PATH_LEN];
char line[MAX_LINE_LEN] = {0};
char rcfile[MAX_PATH_LEN] = {0};
char curr_stanza[MAX_LINE_LEN] = {0};
rc_file_param_t param;
int rc_section_found = 0;
......@@ -1131,16 +1127,13 @@ update_rc(fko_cli_options_t *options, uint32_t args_bitmask)
int rcfile_fd = -1;
int stanza_found = 0;
int stanza_updated = 0;
char line[MAX_LINE_LEN];
char rcfile[MAX_PATH_LEN];
char rcfile_update[MAX_PATH_LEN];
char curr_stanza[MAX_LINE_LEN] = {0};
char line[MAX_LINE_LEN] = {0};
char rcfile[MAX_PATH_LEN] = {0};
char rcfile_update[MAX_PATH_LEN] = {0};
char curr_stanza[MAX_LINE_LEN] = {0};
uint32_t var_bm = 0; /* Bitmask associated to a conf. variable */
rc_file_param_t param; /* Structure to contain a conf. variable name with its value */
memset(rcfile, 0, MAX_PATH_LEN);
memset(rcfile_update, 0, MAX_PATH_LEN);
set_rc_file(rcfile, options);
strlcpy(rcfile_update, rcfile, sizeof(rcfile_update));
......@@ -1821,23 +1814,24 @@ usage(void)
MY_NAME, MY_VERSION, MY_DESC, HTTP_RESOLVE_HOST);
log_msg(LOG_VERBOSITY_NORMAL,
"Usage: fwknop -A <port list> [-s|-R|-a] -D <spa_server> [options]\n\n"
" -h, --help Print this usage message and exit.\n"
" -n, --named-config Specify a named configuration stanza in the\n"
" '$HOME/.fwknoprc' file to provide some of all\n"
" of the configuration parameters.\n"
" If more arguments are set through the command\n"
" line, the configuration is updated accordingly\n"
" -A, --access Provide a list of ports/protocols to open\n"
" on the server.\n"
" on the server (e.g. 'tcp/22').\n"
" -a, --allow-ip Specify IP address to allow within the SPA\n"
" packet (e.g. '123.2.3.4'). If \n"
" -D, --destination Specify the hostname or IP address of the\n"
" fwknop server.\n"
" -h, --help Print this usage message and exit.\n"
" -B, --save-packet Save the generated packet data to the\n"
" specified file.\n"
" -b, --save-packet-append Append the generated packet data to the\n"
" file specified with the -B option.\n"
" -a, --allow-ip Specify IP address to allow within the SPA\n"
" packet.\n"
" -C, --server-cmd Specify a command that the fwknop server will\n"
" execute on behalf of the fwknop client..\n"
" -D, --destination Specify the IP address of the fwknop server.\n"
" -n, --named-config Specify an named configuration stanza in the\n"
" '$HOME/.fwknoprc' file to provide some of all\n"
" of the configuration parameters.\n"
" If more arguments are set through the command\n"
" line, the configuration is updated accordingly\n"
" -N, --nat-access Gain NAT access to an internal service.\n"
" -p, --server-port Set the destination port for outgoing SPA\n"
" packet.\n"
......
......@@ -129,12 +129,11 @@ is_ipv6_str(char *str)
static int
is_hostname_str_with_port(const char *str, char *hostname, size_t hostname_bufsize, int *port)
{
int valid = 0; /* Result of the function */
char buf[MAX_LINE_LEN]; /* Copy of the buffer eg. "hostname,port" */
char *h; /* Pointer on the hostname string */
char *p; /* Ponter on the port string */
int valid = 0; /* Result of the function */
char buf[MAX_LINE_LEN] = {0}; /* Copy of the buffer eg. "hostname,port" */
char *h; /* Pointer on the hostname string */
char *p; /* Ponter on the port string */
memset(buf, 0, sizeof(buf));
memset(hostname, 0, hostname_bufsize);
*port = 0;
......@@ -185,10 +184,6 @@ main(int argc, char **argv)
fko_cli_options_t options;
memset(key, 0x00, MAX_KEY_LEN+1);
memset(hmac_key, 0x00, MAX_KEY_LEN+1);
memset(access_buf, 0x00, MAX_LINE_LEN);
/* Initialize the log module */
log_new();
......@@ -659,7 +654,7 @@ static int
get_rand_port(fko_ctx_t ctx)
{
char *rand_val = NULL;
char port_str[MAX_PORT_STR_LEN+1];
char port_str[MAX_PORT_STR_LEN+1] = {0};
int tmpint, is_err;
int port = 0;
int res = 0;
......@@ -742,8 +737,6 @@ set_access_buf(fko_ctx_t ctx, fko_cli_options_t *options, char *access_buf)
char *ndx = NULL, tmp_nat_port[MAX_PORT_STR_LEN+1] = {0};
int nat_port = 0;
memset(tmp_nat_port, 0x0, MAX_PORT_STR_LEN+1);
if(options->access_str[0] != 0x0)
{
if (options->nat_rand_port)
......@@ -812,15 +805,13 @@ static int
set_nat_access(fko_ctx_t ctx, fko_cli_options_t *options, const char * const access_buf)
{
char nat_access_buf[MAX_LINE_LEN] = {0};
char tmp_access_port[MAX_PORT_STR_LEN+1], *ndx = NULL;
char tmp_access_port[MAX_PORT_STR_LEN+1] = {0}, *ndx = NULL;
int access_port = 0, i = 0, is_err = 0;
char dst_ip_str[INET_ADDRSTRLEN] = {0};
char hostname[HOSTNAME_BUFSIZE] = {0};
int port = 0;
struct addrinfo hints;
memset(nat_access_buf, 0x0, MAX_LINE_LEN);
memset(tmp_access_port, 0x0, MAX_PORT_STR_LEN+1);
memset(&hints, 0 , sizeof(hints));
ndx = strchr(options->access_str, '/');
......@@ -938,7 +929,7 @@ prev_exec(fko_cli_options_t *options, int argc, char **argv)
static void
show_last_command(const char * const args_save_file)
{
char args_str[MAX_LINE_LEN] = "";
char args_str[MAX_LINE_LEN] = {0};
FILE *args_file_ptr = NULL;
verify_file_perms_ownership(args_save_file);
......@@ -1058,7 +1049,7 @@ get_save_file(char *args_save_file)
static void
save_args(int argc, char **argv, const char * const args_save_file)
{
char args_str[MAX_LINE_LEN] = "";
char args_str[MAX_LINE_LEN] = {0};
int i = 0, args_str_len = 0, args_file_fd = -1;
args_file_fd = open(args_save_file, O_WRONLY|O_CREAT, S_IRUSR|S_IWUSR);
......
......@@ -175,8 +175,6 @@ get_key_file(char *key, int *key_len, const char *key_file,
char *lptr;
memset(key, 0x00, MAX_KEY_LEN+1);
memset(conf_line_buf, 0x00, MAX_LINE_LEN);
memset(tmp_char_buf, 0x00, MAX_LINE_LEN);
if ((pwfile_ptr = fopen(key_file, "r")) == NULL)
{
......
......@@ -58,7 +58,7 @@ try_url(struct url *url, fko_cli_options_t *options)
int bytes_read = 0, position = 0;
int o1, o2, o3, o4;
struct addrinfo *result, *rp, hints;
char http_buf[HTTP_MAX_REQUEST_LEN];
char http_buf[HTTP_MAX_REQUEST_LEN] = {0};
char http_response[HTTP_MAX_RESPONSE_LEN] = {0};
char *ndx;
......
......@@ -35,7 +35,7 @@
static void
dump_transmit_options(const fko_cli_options_t *options)
{
char proto_str[PROTOCOL_BUFSIZE]; /* Protocol string */
char proto_str[PROTOCOL_BUFSIZE] = {0}; /* Protocol string */
proto_inttostr(options->spa_proto, proto_str, sizeof(proto_str));
......@@ -89,7 +89,7 @@ send_spa_packet_tcp_or_udp(const char *spa_data, const int sd_len,
{
int sock, res=0, error;
struct addrinfo *result, *rp, hints;
char port_str[MAX_PORT_STR_LEN+1];
char port_str[MAX_PORT_STR_LEN+1] = {0};
if (options->test)
{
......@@ -495,7 +495,7 @@ static int
send_spa_packet_http(const char *spa_data, const int sd_len,
fko_cli_options_t *options)
{
char http_buf[HTTP_MAX_REQUEST_LEN], *spa_data_copy = NULL;
char http_buf[HTTP_MAX_REQUEST_LEN] = {0}, *spa_data_copy = NULL;
char *ndx = options->http_proxy;
int i, proxy_port = 0, is_err;
......
......@@ -118,19 +118,14 @@ static void
rij_salt_and_iv(RIJNDAEL_context *ctx, const char *key,
const int key_len, const unsigned char *data, const int mode_flag)
{
char pw_buf[RIJNDAEL_MAX_KEYSIZE];
unsigned char tmp_buf[MD5_DIGEST_LEN+RIJNDAEL_MAX_KEYSIZE+RIJNDAEL_BLOCKSIZE];
unsigned char kiv_buf[RIJNDAEL_MAX_KEYSIZE+RIJNDAEL_BLOCKSIZE]; /* Key and IV buffer */
unsigned char md5_buf[MD5_DIGEST_LEN]; /* Buffer for computed md5 hash */
char pw_buf[RIJNDAEL_MAX_KEYSIZE] = {0};
unsigned char tmp_buf[MD5_DIGEST_LEN+RIJNDAEL_MAX_KEYSIZE+RIJNDAEL_BLOCKSIZE] = {0};
unsigned char kiv_buf[RIJNDAEL_MAX_KEYSIZE+RIJNDAEL_BLOCKSIZE] = {0}; /* Key and IV buffer */
unsigned char md5_buf[MD5_DIGEST_LEN] = {0}; /* Buffer for computed md5 hash */
int final_key_len = 0;
size_t kiv_len = 0;
memset(pw_buf, 0x00, RIJNDAEL_MAX_KEYSIZE);
memset(tmp_buf, 0x00, MD5_DIGEST_LEN+RIJNDAEL_MAX_KEYSIZE+RIJNDAEL_BLOCKSIZE);
memset(kiv_buf, 0x00, RIJNDAEL_MAX_KEYSIZE+RIJNDAEL_BLOCKSIZE);
memset(md5_buf, 0x00, MD5_DIGEST_LEN);
if(mode_flag == FKO_ENC_MODE_CBC_LEGACY_IV)
{
/* Pad the pw with '0' chars up to the minimum Rijndael key size.
......
......@@ -209,8 +209,6 @@ int fko_set_spa_hmac(fko_ctx_t ctx,
if(hmac_key_len > MAX_DIGEST_BLOCK_LEN)
return(FKO_ERROR_INVALID_HMAC_KEY_LEN);
memset(hmac, 0x00, SHA512_DIGEST_STR_LEN);
if(ctx->hmac_type == FKO_HMAC_MD5)
{
hmac_md5(ctx->encrypted_msg,
......
......@@ -103,9 +103,6 @@ hmac_md5_init(hmac_md5_ctx *ctx, const char *key, const int key_len)
unsigned char init_key[MAX_DIGEST_BLOCK_LEN] = {0};
int final_len = key_len;
memset(final_key, 0x00, MAX_DIGEST_BLOCK_LEN);
memset(init_key, 0x00, MAX_DIGEST_BLOCK_LEN);
if(key_len > MAX_DIGEST_BLOCK_LEN)
final_len = MAX_DIGEST_BLOCK_LEN;
......@@ -177,9 +174,6 @@ hmac_sha1_init(hmac_sha1_ctx *ctx, const char *key, const int key_len)
unsigned char init_key[MAX_DIGEST_BLOCK_LEN] = {0};
int final_len = key_len;
memset(final_key, 0x00, MAX_DIGEST_BLOCK_LEN);
memset(init_key, 0x00, MAX_DIGEST_BLOCK_LEN);
if(key_len > MAX_DIGEST_BLOCK_LEN)
final_len = MAX_DIGEST_BLOCK_LEN;
......@@ -251,9 +245,6 @@ hmac_sha256_init(hmac_sha256_ctx *ctx, const char *key, const int key_len)
unsigned char init_key[MAX_DIGEST_BLOCK_LEN] = {0};
int final_len = key_len;
memset(final_key, 0x00, MAX_DIGEST_BLOCK_LEN);
memset(init_key, 0x00, MAX_DIGEST_BLOCK_LEN);
if(key_len > MAX_DIGEST_BLOCK_LEN)
final_len = MAX_DIGEST_BLOCK_LEN;
......@@ -324,8 +315,6 @@ hmac_sha384_init(hmac_sha384_ctx *ctx, const char *key, const int key_len)
unsigned char final_key[MAX_DIGEST_BLOCK_LEN] = {0};
int final_len = key_len;
memset(final_key, 0x00, MAX_DIGEST_BLOCK_LEN);
if(key_len > MAX_DIGEST_BLOCK_LEN)
final_len = MAX_DIGEST_BLOCK_LEN;
......@@ -388,8 +377,6 @@ hmac_sha512_init(hmac_sha512_ctx *ctx, const char *key, const int key_len)
unsigned char final_key[MAX_DIGEST_BLOCK_LEN] = {0};
int final_len = key_len;
memset(final_key, 0x00, MAX_DIGEST_BLOCK_LEN);
if(key_len > MAX_DIGEST_BLOCK_LEN)
final_len = MAX_DIGEST_BLOCK_LEN;
......
......@@ -300,7 +300,7 @@ static int
expand_acc_source(fko_srv_options_t *opts, acc_stanza_t *acc)
{
char *ndx, *start;
char buf[ACCESS_BUF_LEN];
char buf[ACCESS_BUF_LEN] = {0};
int res = 1;
start = acc->source;
......@@ -346,7 +346,7 @@ static int
parse_proto_and_port(char *pstr, int *proto, int *port)
{
char *ndx;
char proto_str[ACCESS_BUF_LEN];
char proto_str[ACCESS_BUF_LEN] = {0};
int is_err;
/* Parse the string into its components.
......@@ -493,7 +493,7 @@ int
expand_acc_port_list(acc_port_list_t **plist, char *plist_str)
{
char *ndx, *start;
char buf[ACCESS_BUF_LEN];
char buf[ACCESS_BUF_LEN] = {0};
start = plist_str;
......@@ -540,7 +540,7 @@ static int
expand_acc_string_list(acc_string_list_t **stlist, char *stlist_str)
{
char *ndx, *start;
char buf[1024];
char buf[MAX_LINE_LEN] = {0};
start = stlist_str;
......@@ -553,7 +553,7 @@ expand_acc_string_list(acc_string_list_t **stlist, char *stlist_str)
while(isspace(*start))
start++;
if(((ndx-start)+1) >= 1024)
if(((ndx-start)+1) >= MAX_LINE_LEN)
return 0;
strlcpy(buf, start, (ndx-start)+1);
......@@ -567,7 +567,7 @@ expand_acc_string_list(acc_string_list_t **stlist, char *stlist_str)
while(isspace(*start))
start++;
if(((ndx-start)+1) >= 1024)
if(((ndx-start)+1) >= MAX_LINE_LEN)
return 0;
strlcpy(buf, start, (ndx-start)+1);
......@@ -914,8 +914,8 @@ parse_access_file(fko_srv_options_t *opts)
unsigned int num_lines = 0;
char access_line_buf[MAX_LINE_LEN] = {0};
char var[MAX_LINE_LEN] = {0};
char val[MAX_LINE_LEN] = {0};
char var[MAX_LINE_LEN] = {0};
char val[MAX_LINE_LEN] = {0};
struct passwd *pw;
struct stat st;
......@@ -1370,7 +1370,7 @@ acc_check_port_access(acc_stanza_t *acc, char *port_str)
{
int res = 1, ctr = 0;
char buf[ACCESS_BUF_LEN];
char buf[ACCESS_BUF_LEN] = {0};
char *ndx, *start;
acc_port_list_t *o_pl = acc->oport_list;
......
......@@ -298,7 +298,7 @@ parse_config_file(fko_srv_options_t *opts, const char *config_file)
static void
validate_options(fko_srv_options_t *opts)
{
char tmp_path[MAX_PATH_LEN];
char tmp_path[MAX_PATH_LEN] = {0};
/* If no conf dir is set in the config file, use the default.
*/
......@@ -650,7 +650,7 @@ config_init(fko_srv_options_t *opts, int argc, char **argv)
int cmd_arg, index, is_err;
unsigned char got_conf_file = 0, got_override_config = 0;
char override_file[MAX_LINE_LEN];
char override_file[MAX_LINE_LEN] = {0};
char *ndx, *cmrk;
/* Zero out options and opts_track.
......
......@@ -94,7 +94,7 @@ _run_extcmd(uid_t user_uid, const char *cmd, char *so_buf, const size_t so_buf_s
{
FILE *ipt;
int retval = 0;
char so_read_buf[IO_READ_BUF_LEN];
char so_read_buf[IO_READ_BUF_LEN] = {0};
pid_t pid;
int res;
......
......@@ -152,8 +152,8 @@ check_firewall_rules(const fko_srv_options_t *opts)
/* TODO: Implement me */
char exp_str[12];
char rule_num_str[6];
char exp_str[12] = {0};
char rule_num_str[6] = {0};
char *ndx, *rn_start, *rn_end, *tmp_mark;
int i, res, rn_offset;
......
......@@ -592,8 +592,8 @@ process_spa_request(const fko_srv_options_t * const opts,
void
check_firewall_rules(const fko_srv_options_t * const opts)
{
char exp_str[12];
char rule_num_str[6];
char exp_str[12] = {0};
char rule_num_str[6] = {0};
char *ndx, *rn_start, *rn_end, *tmp_mark;
int i=0, res=0, is_err;
......
......@@ -191,8 +191,8 @@ static int
jump_rule_exists(const fko_srv_options_t * const opts, const int chain_num)
{
int num, pos = 0;
char cmd_buf[CMD_BUFSIZE] = {0};
char target[CMD_BUFSIZE] = {0};
char cmd_buf[CMD_BUFSIZE] = {0};
char target[CMD_BUFSIZE] = {0};
char line_buf[CMD_BUFSIZE] = {0};
FILE *ipt;
......@@ -459,8 +459,8 @@ static void
set_fw_chain_conf(const int type, const char * const conf_str)
{
int i, j, is_err;
char tbuf[1024] = {0};
const char *ndx = conf_str;
char tbuf[MAX_LINE_LEN] = {0};
const char *ndx = conf_str;
char *chain_fields[FW_NUM_CHAIN_FIELDS];
......@@ -713,8 +713,8 @@ process_spa_request(const fko_srv_options_t * const opts,
{
char nat_ip[MAX_IPV4_STR_LEN] = {0};
char snat_target[SNAT_TARGET_BUFSIZE] = {0};
char rule_buf[CMD_BUFSIZE] = {0};
char *ndx;
char rule_buf[CMD_BUFSIZE];
unsigned int nat_port = 0;
......@@ -1076,8 +1076,8 @@ process_spa_request(const fko_srv_options_t * const opts,
void
check_firewall_rules(const fko_srv_options_t * const opts)
{
char exp_str[12];
char rule_num_str[6];
char exp_str[12] = {0};
char rule_num_str[6] = {0};
char *ndx, *rn_start, *rn_end, *tmp_mark;
int i, res, rn_offset, rule_num, is_err;
......
......@@ -194,8 +194,8 @@ int
process_spa_request(const fko_srv_options_t * const opts,
const acc_stanza_t * const acc, spa_data_t * const spadat)
{
char new_rule[MAX_PF_NEW_RULE_LEN];
char write_cmd[CMD_BUFSIZE];
char new_rule[MAX_PF_NEW_RULE_LEN] = {0};
char write_cmd[CMD_BUFSIZE] = {0};
FILE *pfctl_fd = NULL;
......@@ -339,9 +339,9 @@ process_spa_request(const fko_srv_options_t * const opts,
void
check_firewall_rules(const fko_srv_options_t * const opts)
{
char exp_str[12];
char anchor_rules_copy[STANDARD_CMD_OUT_BUFSIZE];
char write_cmd[CMD_BUFSIZE];
char exp_str[12] = {0};
char anchor_rules_copy[STANDARD_CMD_OUT_BUFSIZE] = {0};
char write_cmd[CMD_BUFSIZE] = {0};
char *ndx, *tmp_mark, *tmp_ndx, *newline_tmp_ndx;
time_t now, rule_exp, min_exp=0;
......
......@@ -163,10 +163,11 @@
/* fwknopd-specific limits
*/
#define MAX_PCAP_FILTER_LEN 1024
#define MAX_IFNAME_LEN 128
#define MAX_SPA_PACKET_LEN 1500 /* --DSS check this? */
#define MAX_HOSTNAME_LEN 64
#define MAX_PCAP_FILTER_LEN 1024
#define MAX_IFNAME_LEN 128
#define MAX_SPA_PACKET_LEN 1500 /* --DSS check this? */
#define MAX_HOSTNAME_LEN 64
#define MAX_DECRYPTED_SPA_LEN 1024
/* The minimum possible valid SPA data size.
*/
......
......@@ -647,7 +647,7 @@ incoming_spa(fko_srv_options_t *opts)
break;
}
strlcpy(spadat.spa_message_remain, spa_ip_demark+1, 1024);
strlcpy(spadat.spa_message_remain, spa_ip_demark+1, MAX_DECRYPTED_SPA_LEN);
/* If use source IP was requested (embedded IP of 0.0.0.0), make sure it
* is allowed.
......
......@@ -143,10 +143,10 @@ replay_warning(fko_srv_options_t *opts, digest_cache_info_t *digest_info)
{
char src_ip[INET_ADDRSTRLEN+1] = {0};
char orig_src_ip[INET_ADDRSTRLEN+1] = {0};
char created[DATE_LEN];
char created[DATE_LEN] = {0};
#if ! USE_FILE_CACHE
char first[DATE_LEN], last[DATE_LEN];
char first[DATE_LEN] = {0}, last[DATE_LEN] = {0};
#endif
/* Convert the IPs to a human readable form
......@@ -234,7 +234,7 @@ replay_file_cache_init(fko_srv_options_t *opts)
{
FILE *digest_file_ptr = NULL;
unsigned int num_lines = 0, digest_ctr = 0;
char line_buf[MAX_LINE_LEN] = {0};
char line_buf[MAX_LINE_LEN] = {0};
char src_ip[INET_ADDRSTRLEN+1] = {0};
char dst_ip[INET_ADDRSTRLEN+1] = {0};
long int time_tmp;
......
......@@ -60,7 +60,7 @@ run_tcp_server(fko_srv_options_t *opts)
fd_set sfd_set;
struct sockaddr_in saddr, caddr;
struct timeval tv;
char sipbuf[MAX_IPV4_STR_LEN];
char sipbuf[MAX_IPV4_STR_LEN] = {0};
unsigned short port;
......
......@@ -114,7 +114,7 @@ hex_dump(const unsigned char *data, const int size)
char *
dump_ctx(fko_ctx_t ctx)
{
static char buf[CTX_DUMP_BUFSIZE];
static char buf[CTX_DUMP_BUFSIZE] = {0};
int cp = 0;
size_t bytes_left;
......@@ -164,7 +164,6 @@ dump_ctx(fko_ctx_t ctx)
hmac_digest_inttostr(hmac_type, hmac_str, sizeof(hmac_str));
enc_mode_inttostr(encryption_mode, enc_mode_str, sizeof(enc_mode_str));
memset(buf, 0x0, sizeof(buf));
bytes_left = sizeof(buf) - 1;
cp = append_msg_to_buf(buf, bytes_left, "SPA Field Values:\n=================\n");
......
支持 Markdown
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册