more ephemeral memory cleanup
svn path=/trunk/; revision=44496
This commit is contained in:
parent
c8a4832050
commit
5dd7371960
|
@ -4266,7 +4266,7 @@ dissect_ber_UTCTime(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, t
|
|||
}
|
||||
|
||||
if (len < 10 || len > 19) {
|
||||
error_str = g_strdup_printf("BER Error: UTCTime invalid length: %u", len);
|
||||
error_str = ep_strdup_printf("BER Error: UTCTime invalid length: %u", len);
|
||||
instr = tvb_get_ephemeral_string(tvb, offset, len > 19 ? 19 : len);
|
||||
goto malformed;
|
||||
}
|
||||
|
@ -4276,8 +4276,8 @@ dissect_ber_UTCTime(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, t
|
|||
/* YYMMDDhhmm */
|
||||
for(i=0;i<10;i++) {
|
||||
if(instr[i] < '0' || instr[i] > '9') {
|
||||
error_str = g_strdup("BER Error: malformed UTCTime encoding, "
|
||||
"first 10 octets have to contain YYMMDDhhmm in digits");
|
||||
error_str = "BER Error: malformed UTCTime encoding, "
|
||||
"first 10 octets have to contain YYMMDDhhmm in digits";
|
||||
goto malformed;
|
||||
}
|
||||
}
|
||||
|
@ -4293,9 +4293,9 @@ dissect_ber_UTCTime(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, t
|
|||
g_snprintf(outstrptr, 4, ":%.2s", instr+10);
|
||||
outstrptr+=3;
|
||||
} else {
|
||||
error_str = g_strdup("BER Error: malformed UTCTime encoding, "
|
||||
error_str = "BER Error: malformed UTCTime encoding, "
|
||||
"if 11th octet is a digit for seconds, "
|
||||
"the 12th octet has to be a digit, too");
|
||||
"the 12th octet has to be a digit, too";
|
||||
goto malformed;
|
||||
}
|
||||
}
|
||||
|
@ -4305,8 +4305,8 @@ dissect_ber_UTCTime(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, t
|
|||
switch (instr[i]) {
|
||||
case 'Z':
|
||||
if(len!=i+1) {
|
||||
error_str = g_strdup("BER Error: malformed UTCTime encoding, "
|
||||
"there must be no further octets after \'Z\'");
|
||||
error_str = "BER Error: malformed UTCTime encoding, "
|
||||
"there must be no further octets after \'Z\'";
|
||||
goto malformed;
|
||||
}
|
||||
g_snprintf(outstrptr, 7, " (UTC)");
|
||||
|
@ -4315,14 +4315,14 @@ dissect_ber_UTCTime(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, t
|
|||
case '-':
|
||||
case '+':
|
||||
if(len!=i+5) {
|
||||
error_str = g_strdup("BER Error: malformed UTCTime encoding, "
|
||||
"4 digits must follow on \'+\' resp. \'-\'");
|
||||
error_str = "BER Error: malformed UTCTime encoding, "
|
||||
"4 digits must follow on \'+\' resp. \'-\'";
|
||||
goto malformed;
|
||||
}
|
||||
for(n=i+1;n<i+5;n++) {
|
||||
if(instr[n] < '0' || instr[n] > '9') {
|
||||
error_str = g_strdup("BER Error: malformed UTCTime encoding, "
|
||||
"4 digits must follow on \'+\' resp. \'-\'");
|
||||
error_str = "BER Error: malformed UTCTime encoding, "
|
||||
"4 digits must follow on \'+\' resp. \'-\'";
|
||||
goto malformed;
|
||||
}
|
||||
}
|
||||
|
@ -4330,7 +4330,7 @@ dissect_ber_UTCTime(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, t
|
|||
i+=5;
|
||||
break;
|
||||
default:
|
||||
error_str = g_strdup_printf("BER Error: malformed UTCTime encoding, "
|
||||
error_str = ep_strdup_printf("BER Error: malformed UTCTime encoding, "
|
||||
"unexpected character in %dth octet, "
|
||||
"must be \'Z\', \'+\' or \'-\'", i+1);
|
||||
goto malformed;
|
||||
|
@ -4338,7 +4338,7 @@ dissect_ber_UTCTime(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, t
|
|||
}
|
||||
|
||||
if(len!=i) {
|
||||
error_str = g_strdup_printf("BER Error: malformed UTCTime encoding, "
|
||||
error_str = ep_strdup_printf("BER Error: malformed UTCTime encoding, "
|
||||
"%d unexpected character%s after %dth octet",
|
||||
len-i, (len==i-1?"s":""), i);
|
||||
goto malformed;
|
||||
|
@ -4359,7 +4359,6 @@ malformed:
|
|||
|
||||
cause = proto_tree_add_string_format(error_tree, hf_ber_error, tvb, offset, len, "invalid_utctime", "%s", error_str);
|
||||
expert_add_info_format(actx->pinfo, cause, PI_MALFORMED, PI_WARN, "BER Error: malformed UTCTime encoding");
|
||||
g_free (error_str);
|
||||
|
||||
return offset+len;
|
||||
}
|
||||
|
|
|
@ -114,17 +114,12 @@ static gint ett_fw1 = -1;
|
|||
#define ETH_HEADER_SIZE 14
|
||||
|
||||
#define MAX_INTERFACES 20
|
||||
static char *p_interfaces[MAX_INTERFACES];
|
||||
static gchar *p_interfaces[MAX_INTERFACES];
|
||||
static int interface_anzahl=0;
|
||||
|
||||
static void
|
||||
fw1_init(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i=0; i<interface_anzahl; i++) {
|
||||
g_free(p_interfaces[i]);
|
||||
}
|
||||
interface_anzahl = 0;
|
||||
}
|
||||
|
||||
|
@ -176,7 +171,7 @@ dissect_fw1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
}
|
||||
}
|
||||
if (!found && interface_anzahl < MAX_INTERFACES) {
|
||||
p_interfaces[interface_anzahl] = g_strdup(interface_name);
|
||||
p_interfaces[interface_anzahl] = se_strdup(interface_name);
|
||||
interface_anzahl++;
|
||||
}
|
||||
|
||||
|
@ -278,7 +273,7 @@ proto_register_fw1(void)
|
|||
|
||||
register_dissector("fw1", dissect_fw1, proto_fw1);
|
||||
|
||||
for (i=0; i<interface_anzahl; i++) {
|
||||
for (i=0; i<MAX_INTERFACES; i++) {
|
||||
p_interfaces[i] = NULL;
|
||||
}
|
||||
register_init_routine(fw1_init);
|
||||
|
|
|
@ -923,16 +923,9 @@ dissect_http_message(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
|
||||
if (tree && stat_info->http_host && stat_info->request_uri) {
|
||||
proto_item *e_ti;
|
||||
gchar* hostname = g_strstrip(g_strdup(stat_info->http_host));
|
||||
size_t size = strlen("http://") + strlen(hostname)
|
||||
+ strlen(stat_info->request_uri) + 1;
|
||||
char *uri = ep_alloc(size);
|
||||
|
||||
g_snprintf(uri, (gulong)size, "%s://%s%s",
|
||||
gchar *uri = ep_strdup_printf("%s://%s%s",
|
||||
"http", /* XXX, https? */
|
||||
hostname, stat_info->request_uri);
|
||||
|
||||
g_free(hostname);
|
||||
g_strstrip(ep_strdup(stat_info->http_host)), stat_info->request_uri);
|
||||
|
||||
e_ti = proto_tree_add_string(http_tree,
|
||||
hf_http_request_full_uri, tvb, 0,
|
||||
|
|
|
@ -16721,8 +16721,7 @@ try_decrypt(tvbuff_t *tvb, guint offset, guint len, guint8 *algorithm, guint32 *
|
|||
/* decrypt successful, let's set up a new data tvb. */
|
||||
decr_tvb = tvb_new_child_real_data(tvb, tmp, len, len);
|
||||
tvb_set_free_cb(decr_tvb, g_free);
|
||||
} else
|
||||
g_free(tmp);
|
||||
}
|
||||
|
||||
return decr_tvb;
|
||||
}
|
||||
|
@ -16740,7 +16739,7 @@ void set_airpdcap_keys(void)
|
|||
GByteArray *bytes = NULL;
|
||||
gboolean res;
|
||||
|
||||
keys=(PAIRPDCAP_KEYS_COLLECTION)g_malloc(sizeof(AIRPDCAP_KEYS_COLLECTION));
|
||||
keys=(PAIRPDCAP_KEYS_COLLECTION)se_alloc(sizeof(AIRPDCAP_KEYS_COLLECTION));
|
||||
keys->nKeys = 0;
|
||||
|
||||
for(i = 0; (uat_wep_key_records != NULL) && (i < num_wepkeys_uat) && (i < MAX_ENCRYPTION_KEYS); i++)
|
||||
|
@ -16807,7 +16806,6 @@ void set_airpdcap_keys(void)
|
|||
|
||||
/* Now set the keys */
|
||||
AirPDcapSetKeys(&airpdcap_ctx,keys->Keys,keys->nKeys);
|
||||
g_free(keys);
|
||||
if (bytes)
|
||||
g_byte_array_free(bytes, TRUE);
|
||||
|
||||
|
|
|
@ -2245,11 +2245,10 @@ dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
{
|
||||
guint8* sFormat = NULL;
|
||||
sFormat = tvb_get_ephemeral_string_enc(tvb, tMsgProps.iOffsetFormat, 8, string_rep);
|
||||
if (strip_trailing_blanks(sFormat, 8) == 0) sFormat = (guint8*)g_strdup("MQNONE");
|
||||
if (check_col(pinfo->cinfo, COL_INFO))
|
||||
{
|
||||
col_append_fstr(pinfo->cinfo, COL_INFO, " Fmt=%s", sFormat);
|
||||
}
|
||||
if (strip_trailing_blanks(sFormat, 8) == 0)
|
||||
sFormat = (guint8*)ep_strdup("MQNONE");
|
||||
|
||||
col_append_fstr(pinfo->cinfo, COL_INFO, " Fmt=%s", sFormat);
|
||||
if (tree)
|
||||
{
|
||||
proto_item *hidden_item;
|
||||
|
|
|
@ -167,8 +167,6 @@ static gint
|
|||
is_known_multipart_header(const char *header_str, guint len);
|
||||
static gint
|
||||
index_of_char(const char *str, const char c);
|
||||
static char *
|
||||
unfold_and_compact_mime_header(const char *lines, gint *first_colon_offset);
|
||||
|
||||
|
||||
/* Return a tvb that contains the binary representation of a base64
|
||||
|
@ -209,7 +207,7 @@ unfold_and_compact_mime_header(const char *lines, gint *first_colon_offset)
|
|||
if (! lines) return NULL;
|
||||
|
||||
c = *p;
|
||||
ret = g_malloc(strlen(lines) + 1);
|
||||
ret = ep_alloc(strlen(lines) + 1);
|
||||
q = ret;
|
||||
|
||||
while (c) {
|
||||
|
@ -414,7 +412,6 @@ get_multipart_info(packet_info *pinfo)
|
|||
start = find_parameter(parameters, "boundary=", &len);
|
||||
|
||||
if(!start) {
|
||||
g_free(parameters);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -425,7 +422,6 @@ get_multipart_info(packet_info *pinfo)
|
|||
m_info->type = type;
|
||||
m_info->boundary = g_strndup(start, len);
|
||||
m_info->boundary_length = len;
|
||||
g_free(parameters);
|
||||
|
||||
return m_info;
|
||||
}
|
||||
|
@ -709,7 +705,6 @@ process_body_part(proto_tree *tree, tvbuff_t *tvb, const guint8 *boundary,
|
|||
}
|
||||
}
|
||||
}
|
||||
g_free(header_str);
|
||||
offset = next_offset;
|
||||
}
|
||||
|
||||
|
|
|
@ -9333,9 +9333,8 @@ dissect_nfs_argop4(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
break;
|
||||
|
||||
case NFS4_OP_RENEW:
|
||||
clientid_array = tvb_get_string(tvb, offset, 8);
|
||||
clientid_array = tvb_get_ephemeral_string(tvb, offset, 8);
|
||||
clientid_hash = crc16_ccitt(clientid_array, 8);
|
||||
g_free(clientid_array);
|
||||
offset = dissect_rpc_uint64(tvb, newftree, hf_nfs_clientid4, offset);
|
||||
g_string_append_printf (op_summary[ops_counter].optext, " CID: 0x%04x", clientid_hash);
|
||||
|
||||
|
|
|
@ -201,13 +201,8 @@ Cmd_Argv_length(int arg)
|
|||
static void
|
||||
Cmd_TokenizeString(char* text)
|
||||
{
|
||||
int i;
|
||||
int start;
|
||||
|
||||
/* clear the args from the last string */
|
||||
for (i=0 ; i<cmd_argc ; i++)
|
||||
g_free(cmd_argv[i]);
|
||||
|
||||
cmd_argc = 0;
|
||||
|
||||
start = 0;
|
||||
|
@ -233,7 +228,7 @@ Cmd_TokenizeString(char* text)
|
|||
return;
|
||||
|
||||
if (cmd_argc < MAX_ARGS) {
|
||||
cmd_argv[cmd_argc] = g_strdup(com_token);
|
||||
cmd_argv[cmd_argc] = ep_strdup(com_token);
|
||||
cmd_argv_start[cmd_argc] = start + com_token_start;
|
||||
cmd_argv_length[cmd_argc] = com_token_length;
|
||||
cmd_argc++;
|
||||
|
|
|
@ -2030,10 +2030,9 @@ rlc_decipher_tvb(tvbuff_t *tvb, packet_info *pinfo, guint32 counter, guint8 rbid
|
|||
|
||||
/*Fix the key into a byte block*/
|
||||
/*TODO: This should be done in a preferences callback function*/
|
||||
out = g_malloc0( strlen(global_rlc_kasumi_key)+1);
|
||||
out = ep_alloc0( strlen(global_rlc_kasumi_key)+1);
|
||||
memcpy(out,global_rlc_kasumi_key,strlen(global_rlc_kasumi_key)); /*Copy from prefrence const pointer*/
|
||||
key_in = translate_hex_key(out); /*Translation*/
|
||||
g_free(out);
|
||||
|
||||
/*Location for decrypted data*/
|
||||
out = g_malloc( tvb_length(tvb) );
|
||||
|
|
|
@ -2066,7 +2066,7 @@ dissect_ssl3_handshake(tvbuff_t *tvb, packet_info *pinfo,
|
|||
}
|
||||
|
||||
/* convert hex string into char*/
|
||||
out = (unsigned char*) g_malloc(size > 0 ? size / 2 : 0);
|
||||
out = (unsigned char*) ep_alloc(size > 0 ? size / 2 : 0);
|
||||
|
||||
for (i = 0; i < size; i+=2)
|
||||
{
|
||||
|
@ -2093,8 +2093,6 @@ dissect_ssl3_handshake(tvbuff_t *tvb, packet_info *pinfo,
|
|||
/* psk*/
|
||||
memcpy(&pre_master_secret.data[psk_len + 4], ssl->psk, psk_len);
|
||||
|
||||
g_free(out);
|
||||
|
||||
ssl->pre_master_secret.data = pre_master_secret.data;
|
||||
ssl->pre_master_secret.data_len = pre_master_len;
|
||||
/*ssl_debug_printf("pre master secret",&ssl->pre_master_secret);*/
|
||||
|
|
|
@ -666,7 +666,7 @@ void proto_reg_handoff_uaudp(void)
|
|||
else
|
||||
{
|
||||
use_sys_ip = FALSE;
|
||||
pref_sys_ip_s = g_strdup("");
|
||||
pref_sys_ip_s = "";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue