aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/addr_resolv.c45
-rw-r--r--epan/atalk-utils.c12
-rw-r--r--epan/osi-utils.c10
-rw-r--r--epan/strutil.c8
4 files changed, 18 insertions, 57 deletions
diff --git a/epan/addr_resolv.c b/epan/addr_resolv.c
index 7700ec80f4..bf86fcc365 100644
--- a/epan/addr_resolv.c
+++ b/epan/addr_resolv.c
@@ -118,6 +118,7 @@
#include "addr_resolv.h"
#include "filesystem.h"
#include <epan/prefs.h>
+#include <epan/emem.h>
#define ENAME_HOSTS "hosts"
#define ENAME_ETHERS "ethers"
@@ -1868,17 +1869,10 @@ extern void add_ipv6_name(struct e_in6_addr *addrp, const gchar *name)
extern gchar *get_udp_port(guint port)
{
- static gchar str[3][MAXNAMELEN];
- static gchar *cur;
+ gchar *cur;
if (!(g_resolv_flags & RESOLV_TRANSPORT)) {
- if (cur == &str[0][0]) {
- cur = &str[1][0];
- } else if (cur == &str[1][0]) {
- cur = &str[2][0];
- } else {
- cur = &str[0][0];
- }
+ cur=ep_alloc(MAXNAMELEN);
g_snprintf(cur, MAXNAMELEN, "%u", port);
return cur;
}
@@ -1889,17 +1883,10 @@ extern gchar *get_udp_port(guint port)
extern gchar *get_tcp_port(guint port)
{
- static gchar str[3][MAXNAMELEN];
- static gchar *cur;
+ gchar *cur;
if (!(g_resolv_flags & RESOLV_TRANSPORT)) {
- if (cur == &str[0][0]) {
- cur = &str[1][0];
- } else if (cur == &str[1][0]) {
- cur = &str[2][0];
- } else {
- cur = &str[0][0];
- }
+ cur=ep_alloc(MAXNAMELEN);
g_snprintf(cur, MAXNAMELEN, "%u", port);
return cur;
}
@@ -1910,17 +1897,10 @@ extern gchar *get_tcp_port(guint port)
extern gchar *get_sctp_port(guint port)
{
- static gchar str[3][MAXNAMELEN];
- static gchar *cur;
+ gchar *cur;
if (!(g_resolv_flags & RESOLV_TRANSPORT)) {
- if (cur == &str[0][0]) {
- cur = &str[1][0];
- } else if (cur == &str[1][0]) {
- cur = &str[2][0];
- } else {
- cur = &str[0][0];
- }
+ cur=ep_alloc(MAXNAMELEN);
g_snprintf(cur, MAXNAMELEN, "%u", port);
return cur;
}
@@ -2106,8 +2086,7 @@ extern guint32 get_ipxnet_addr(const gchar *name, gboolean *known)
extern const gchar *get_manuf_name(const guint8 *addr)
{
- static gchar str[3][MAXMANUFLEN];
- static gchar *cur;
+ gchar *cur;
hashmanuf_t *manufp;
if ((g_resolv_flags & RESOLV_MAC) && !eth_resolution_initialized) {
@@ -2116,13 +2095,7 @@ extern const gchar *get_manuf_name(const guint8 *addr)
}
if (!(g_resolv_flags & RESOLV_MAC) || ((manufp = manuf_name_lookup(addr)) == NULL)) {
- if (cur == &str[0][0]) {
- cur = &str[1][0];
- } else if (cur == &str[1][0]) {
- cur = &str[2][0];
- } else {
- cur = &str[0][0];
- }
+ cur=ep_alloc(MAXMANUFLEN);
g_snprintf(cur, MAXMANUFLEN, "%02x:%02x:%02x", addr[0], addr[1], addr[2]);
return cur;
}
diff --git a/epan/atalk-utils.c b/epan/atalk-utils.c
index 2d79be137d..fb874bcff2 100644
--- a/epan/atalk-utils.c
+++ b/epan/atalk-utils.c
@@ -25,20 +25,14 @@
#endif
#include "atalk-utils.h"
+#include "emem.h"
gchar *
atalk_addr_to_str(const struct atalk_ddp_addr *addrp)
{
- static gchar str[3][14];
- static gchar *cur;
+ gchar *cur;
- if (cur == &str[0][0]) {
- cur = &str[1][0];
- } else if (cur == &str[1][0]) {
- cur = &str[2][0];
- } else {
- cur = &str[0][0];
- }
+ cur=ep_alloc(14);
atalk_addr_to_str_buf(addrp, cur, 14);
return cur;
}
diff --git a/epan/osi-utils.c b/epan/osi-utils.c
index 1f1c3f339f..95283d6bd0 100644
--- a/epan/osi-utils.c
+++ b/epan/osi-utils.c
@@ -34,14 +34,14 @@
#include <glib.h>
#include "osi-utils.h"
+#include "emem.h"
gchar *
print_nsap_net( const guint8 *ad, int length )
{
- static gchar str[MAX_NSAP_LEN * 3 + 50]; /* reserve space for nice layout */
gchar *cur;
- cur = str;
+ cur = ep_alloc(MAX_NSAP_LEN * 3 + 50);
print_nsap_net_buf( ad, length, cur );
return( cur );
}
@@ -77,10 +77,9 @@ print_nsap_net_buf( const guint8 *ad, int length, gchar *buf )
gchar *
print_system_id( const guint8 *ad, int length )
{
- static gchar str[MAX_SYSTEMID_LEN * 3 + 5]; /* Don't trust exact matching */
gchar *cur;
- cur = str;
+ cur = ep_alloc(MAX_SYSTEMID_LEN * 3 + 5);
print_system_id_buf(ad, length, cur );
return( cur );
}
@@ -132,10 +131,9 @@ print_system_id_buf( const guint8 *ad, int length, gchar *buf )
gchar *
print_area(const guint8 *ad, int length)
{
- static gchar str[MAX_AREA_LEN * 3 + 20]; /* reserve space for nice layout */
gchar *cur;
- cur = str;
+ cur = ep_alloc(MAX_AREA_LEN * 3 + 20);
print_area_buf( ad, length, cur );
return cur;
}
diff --git a/epan/strutil.c b/epan/strutil.c
index 2a122d44c6..bba8e19651 100644
--- a/epan/strutil.c
+++ b/epan/strutil.c
@@ -31,6 +31,7 @@
#include <ctype.h>
#include <glib.h>
#include "strutil.h"
+#include "emem.h"
/*
@@ -274,18 +275,13 @@ bytes_to_str(const guint8 *bd, int bd_len) {
*/
gchar *
bytes_to_str_punct(const guint8 *bd, int bd_len, gchar punct) {
- static gchar str[N_BYTES_TO_STR_STRINGS][MAX_BYTE_STR_LEN+3+1];
- static int cur_idx;
gchar *cur;
gchar *p;
int len;
static const char hex[16] = { '0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
- cur_idx++;
- if (cur_idx >= N_BYTES_TO_STR_STRINGS)
- cur_idx = 0;
- cur = &str[cur_idx][0];
+ cur=ep_alloc(MAX_BYTE_STR_LEN+3+1);
p = cur;
len = MAX_BYTE_STR_LEN;
while (bd_len > 0 && len > 0) {