diff options
-rw-r--r-- | .gitlab-ci.yml | 4 | ||||
-rw-r--r-- | src/socket.c | 7 |
2 files changed, 8 insertions, 3 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f8ef14b..11a7ec6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -11,14 +11,14 @@ before_script: build: script: - - meson build || (cat build/meson-logs/meson-log.txt && exit 1) + - meson --werror build || (cat build/meson-logs/meson-log.txt && exit 1) - ninja -C build - (cd build && meson test) || (cat build/meson-logs/testlog.txt && exit 1) - ninja -C build scan-build build-mingw64: script: - - (mkdir buildw && cd buildw && mingw64-meson) || (cat buildw/meson-logs/meson-log.txt && exit 1) + - (mkdir buildw && cd buildw && mingw64-meson --werror) || (cat buildw/meson-logs/meson-log.txt && exit 1) - ninja -C buildw build-qemu: diff --git a/src/socket.c b/src/socket.c index 6ad9c30..4cd9a64 100644 --- a/src/socket.c +++ b/src/socket.c @@ -840,7 +840,12 @@ static bool sotranslate_out4(Slirp *s, struct socket *so, struct sockaddr_in *si static bool sotranslate_out6(Slirp *s, struct socket *so, struct sockaddr_in6 *sin) { if (in6_equal(&so->so_faddr6, &s->vnameserver_addr6)) { - return get_dns6_addr(&sin->sin6_addr, &sin->sin6_scope_id) >= 0; + uint32_t scope_id; + if (get_dns6_addr(&sin->sin6_addr, &scope_id) >= 0) { + sin->sin6_scope_id = scope_id; + return true; + } + return false; } if (in6_equal_net(&so->so_faddr6, &s->vprefix_addr6, s->vprefix_len) || |