diff options
author | Junnan Xu <junnanx.xu@gmail.com> | 2022-05-31 22:31:19 +0800 |
---|---|---|
committer | Daniel Golle <daniel@makrotopia.org> | 2022-05-31 15:44:55 +0100 |
commit | 39ef9fe1388029c476db62889ef2ef5661613321 (patch) | |
tree | a9396f10c199ac6956304eae657c7e0cb5b1198d | |
parent | 2e1fcf4cd61222fc0d307d863da71d17fbd34d6f (diff) | |
download | netifd-39ef9fe1388029c476db62889ef2ef5661613321.tar.gz |
interface-ip: fix memory corruption bug when using jail network namespaces
memory corruption when resolv_conf specified by input -r parameters
and the resolv_conf length less than "/tmp/resolv.conf-.d/resolv.conf.auto"
Signed-off-by: Junnan Xu <junnanx.xu@gmail.com>
-rw-r--r-- | interface-ip.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/interface-ip.c b/interface-ip.c index 585cb6f..ab4a5cf 100644 --- a/interface-ip.c +++ b/interface-ip.c @@ -1566,7 +1566,9 @@ __interface_write_dns_entries(FILE *f, const char *jail) void interface_write_resolv_conf(const char *jail) { - size_t plen = (jail ? strlen(jail) + 1 : 0 ) + strlen(resolv_conf) + 1; + size_t plen = (jail ? strlen(jail) + 1 : 0 ) + + (strlen(resolv_conf) >= strlen(DEFAULT_RESOLV_CONF) ? + strlen(resolv_conf) : strlen(DEFAULT_RESOLV_CONF) ) + 1; char *path = alloca(plen); char *dpath = alloca(plen); char *tmppath = alloca(plen + 4); |