summaryrefslogtreecommitdiff
path: root/epan/emem.c
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2009-03-28 05:14:16 +0000
committerGerald Combs <gerald@wireshark.org>2009-03-28 05:14:16 +0000
commit6c6c89e835a55f05129256991db7bd847cd67769 (patch)
tree45b8ed3bce1d76f99096b9578d28ec5da07d3ed4 /epan/emem.c
parenta76381c40e9816065ceba904aa725a3dea18d59f (diff)
downloadwireshark-6c6c89e835a55f05129256991db7bd847cd67769.tar.gz
Add a missing check.
svn path=/trunk/; revision=27875
Diffstat (limited to 'epan/emem.c')
-rw-r--r--epan/emem.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/epan/emem.c b/epan/emem.c
index 1a0f9ef254..722777664f 100644
--- a/epan/emem.c
+++ b/epan/emem.c
@@ -1760,7 +1760,11 @@ ep_strbuf_append(emem_strbuf_t *strbuf, const gchar *str) {
ep_strbuf_grow(strbuf, strbuf->len + add_len);
}
- g_strlcpy(&strbuf->str[strbuf->len], str, strbuf->alloc_len - add_len);
+ if (strbuf->len + add_len > strbuf->alloc_len) {
+ add_len = strbuf->alloc_len - strbuf->len;
+ }
+
+ g_strlcpy(&strbuf->str[strbuf->len], str, add_len);
strbuf->len += add_len;
}