diff options
author | Steven Barth <steven@midlink.org> | 2016-01-28 16:59:12 +0100 |
---|---|---|
committer | Steven Barth <steven@midlink.org> | 2016-01-28 16:59:12 +0100 |
commit | 23aa0c218808361c1252b73a8ba82a91ac9039e7 (patch) | |
tree | 4e97bf8c749db4f4a5e1af2fa72fff19514560ba /src/odhcp6c.c | |
parent | 4f9eded5cff092772fdc2bdeafc8647dae826390 (diff) | |
parent | 78bc7d9c835404ad1b5d2eb26de390bd45e26d2a (diff) | |
download | odhcp6c-23aa0c218808361c1252b73a8ba82a91ac9039e7.tar.gz |
Merge pull request #41 from bwhacks/security-fixes
Security fixes
Diffstat (limited to 'src/odhcp6c.c')
-rw-r--r-- | src/odhcp6c.c | 6 |
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) |