aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2015-01-17 20:59:20 -0500
committerMichael Mann <mmann78@netscape.net>2015-01-18 04:14:55 +0000
commitef7e8aa065a485edf4a9aba299ceb15a19ae0dd0 (patch)
treefe01872950ffde2bf2ae3b9194b5a7477fb1ed45 /epan
parent403be722cee0aa78b6c57b7e61c35d2d59780713 (diff)
downloadwireshark-ef7e8aa065a485edf4a9aba299ceb15a19ae0dd0.tar.gz
wireshark-ef7e8aa065a485edf4a9aba299ceb15a19ae0dd0.tar.bz2
wireshark-ef7e8aa065a485edf4a9aba299ceb15a19ae0dd0.zip
Remove ep_strndup
Change-Id: Id336dc16f97a0973754993094aa637813c0ca31c Reviewed-on: https://code.wireshark.org/review/6604 Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan')
-rw-r--r--epan/emem.c21
-rw-r--r--epan/emem.h4
-rw-r--r--epan/ftypes/ftype-ipv4.c18
-rw-r--r--epan/ftypes/ftype-ipv6.c18
4 files changed, 24 insertions, 37 deletions
diff --git a/epan/emem.c b/epan/emem.c
index d30fc4d343..f0eeb126ae 100644
--- a/epan/emem.c
+++ b/epan/emem.c
@@ -965,27 +965,6 @@ ep_strdup(const gchar *src)
return emem_strdup(src, ep_alloc);
}
-static gchar *
-emem_strndup(const gchar *src, size_t len, void *allocator(size_t))
-{
- gchar *dst = (gchar *)allocator(len+1);
- guint i;
-
- for (i = 0; (i < len) && src[i]; i++)
- dst[i] = src[i];
-
- dst[i] = '\0';
-
- return dst;
-}
-
-gchar *
-ep_strndup(const gchar *src, size_t len)
-{
- return emem_strndup(src, len, ep_alloc);
-}
-
-
static gchar *
emem_strdup_vprintf(const gchar *fmt, va_list ap, void *allocator(size_t))
diff --git a/epan/emem.h b/epan/emem.h
index 7a0a57af4b..e1ca337e40 100644
--- a/epan/emem.h
+++ b/epan/emem.h
@@ -63,10 +63,6 @@ void* ep_alloc0(size_t size) G_GNUC_MALLOC;
WS_DLL_PUBLIC
gchar* ep_strdup(const gchar* src) G_GNUC_MALLOC;
-/** Duplicate at most n characters of a string with a packet lifetime scope */
-WS_DLL_PUBLIC
-gchar* ep_strndup(const gchar* src, size_t len) G_GNUC_MALLOC;
-
/** Create a formatted string with a packet lifetime scope */
WS_DLL_PUBLIC
gchar* ep_strdup_printf(const gchar* fmt, ...)
diff --git a/epan/ftypes/ftype-ipv4.c b/epan/ftypes/ftype-ipv4.c
index 1c10017263..d7dada34ea 100644
--- a/epan/ftypes/ftype-ipv4.c
+++ b/epan/ftypes/ftype-ipv4.c
@@ -25,7 +25,6 @@
#include <ftypes-int.h>
#include <epan/ipv4.h>
#include <epan/addr_resolv.h>
-#include <epan/emem.h>
static void
@@ -47,27 +46,32 @@ val_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_,
guint32 addr;
unsigned int nmask_bits;
- const char *has_slash;
- const char *net_str, *addr_str;
+ const char *has_slash, *net_str;
+ char *addr_str;
fvalue_t *nmask_fvalue;
+ gboolean free_addr_str = FALSE;
/* Look for CIDR: Is there a single slash in the string? */
has_slash = strchr(s, '/');
if (has_slash) {
/* Make a copy of the string up to but not including the
* slash; that's the address portion. */
- addr_str = ep_strndup(s, has_slash - s);
+ addr_str = wmem_strndup(NULL, s, has_slash - s);
+ free_addr_str = TRUE;
}
else {
- addr_str = s;
+ addr_str = (char*)s;
}
if (!get_host_ipaddr(addr_str, &addr)) {
- logfunc("\"%s\" is not a valid hostname or IPv4 address.",
- addr_str);
+ logfunc("\"%s\" is not a valid hostname or IPv4 address.", addr_str);
+ if (free_addr_str)
+ wmem_free(NULL, addr_str);
return FALSE;
}
+ if (free_addr_str)
+ wmem_free(NULL, addr_str);
ipv4_addr_set_net_order_addr(&(fv->value.ipv4), addr);
/* If CIDR, get netmask bits. */
diff --git a/epan/ftypes/ftype-ipv6.c b/epan/ftypes/ftype-ipv6.c
index 04e47c920f..bc72f58144 100644
--- a/epan/ftypes/ftype-ipv6.c
+++ b/epan/ftypes/ftype-ipv6.c
@@ -25,7 +25,6 @@
#include <ftypes-int.h>
#include <epan/ipv6-utils.h>
#include <epan/addr_resolv.h>
-#include <epan/emem.h>
static void
ipv6_fvalue_set(fvalue_t *fv, const guint8 *value)
@@ -37,21 +36,30 @@ ipv6_fvalue_set(fvalue_t *fv, const guint8 *value)
static gboolean
ipv6_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_, LogFunc logfunc)
{
- const char *has_slash, *addr_str;
+ const char *has_slash;
+ char *addr_str;
unsigned int nmask_bits;
fvalue_t *nmask_fvalue;
+ gboolean free_addr_str = FALSE;
/* Look for prefix: Is there a single slash in the string? */
- if ((has_slash = strchr(s, '/')))
- addr_str = ep_strndup(s, has_slash-s);
+ if ((has_slash = strchr(s, '/'))) {
+ addr_str = wmem_strndup(NULL, s, has_slash-s);
+ free_addr_str = TRUE;
+ }
else
- addr_str = s;
+ addr_str = (char*)s;
if (!get_host_ipaddr6(addr_str, &(fv->value.ipv6.addr))) {
logfunc("\"%s\" is not a valid hostname or IPv6 address.", s);
+ if (free_addr_str)
+ wmem_free(NULL, addr_str);
return FALSE;
}
+ if (free_addr_str)
+ wmem_free(NULL, addr_str);
+
/* If prefix */
if (has_slash) {
/* XXX - this is inefficient */