summaryrefslogtreecommitdiff
path: root/src/odhcp6c.c
diff options
context:
space:
mode:
authorSteven Barth <steven@midlink.org>2016-01-28 16:59:12 +0100
committerSteven Barth <steven@midlink.org>2016-01-28 16:59:12 +0100
commit23aa0c218808361c1252b73a8ba82a91ac9039e7 (patch)
tree4e97bf8c749db4f4a5e1af2fa72fff19514560ba /src/odhcp6c.c
parent4f9eded5cff092772fdc2bdeafc8647dae826390 (diff)
parent78bc7d9c835404ad1b5d2eb26de390bd45e26d2a (diff)
downloadodhcp6c-23aa0c218808361c1252b73a8ba82a91ac9039e7.tar.gz
Merge pull request #41 from bwhacks/security-fixes
Security fixes
Diffstat (limited to 'src/odhcp6c.c')
-rw-r--r--src/odhcp6c.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/odhcp6c.c b/src/odhcp6c.c
index 133ade7..1714d62 100644
--- a/src/odhcp6c.c
+++ b/src/odhcp6c.c
@@ -516,11 +516,11 @@ void odhcp6c_add_state(enum odhcp6c_state state, const void *data, size_t len)
memcpy(n, data, len);
}
-void odhcp6c_insert_state(enum odhcp6c_state state, size_t offset, const void *data, size_t len)
+int odhcp6c_insert_state(enum odhcp6c_state state, size_t offset, const void *data, size_t len)
{
ssize_t len_after = state_len[state] - offset;
if (len_after < 0)
- return;
+ return -1;
uint8_t *n = odhcp6c_resize_state(state, len);
if (n) {
@@ -529,6 +529,8 @@ void odhcp6c_insert_state(enum odhcp6c_state state, size_t offset, const void *d
memmove(sdata + offset + len, sdata + offset, len_after);
memcpy(sdata + offset, data, len);
}
+
+ return 0;
}
size_t odhcp6c_remove_state(enum odhcp6c_state state, size_t offset, size_t len)