Module Name:src
Committed By: riastradh
Date: Thu Aug 27 02:50:44 UTC 2020
Modified Files:
src/sys/rump/net/lib/libwg: wg_user.c
Log Message:
Paranoia: use strlcpy rather than strcpy here and detect truncation.
Not an issue for the one caller in tree, but let's not leave rakes to
step on.
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/rump/net/lib/libwg/wg_user.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/rump/net/lib/libwg/wg_user.c
diff -u src/sys/rump/net/lib/libwg/wg_user.c:1.1 src/sys/rump/net/lib/libwg/wg_user.c:1.2
--- src/sys/rump/net/lib/libwg/wg_user.c:1.1 Wed Aug 26 16:03:42 2020
+++ src/sys/rump/net/lib/libwg/wg_user.c Thu Aug 27 02:50:44 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: wg_user.c,v 1.1 2020/08/26 16:03:42 riastradh Exp $ */
+/* $NetBSD: wg_user.c,v 1.2 2020/08/27 02:50:44 riastradh Exp $ */
/*
* Copyright (C) Ryota Ozaki
@@ -29,7 +29,7 @@
*/
#include
-__KERNEL_RCSID(0, "$NetBSD: wg_user.c,v 1.1 2020/08/26 16:03:42 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wg_user.c,v 1.2 2020/08/27 02:50:44 riastradh Exp $");
#ifndef _KERNEL
#include
@@ -243,13 +243,18 @@ rumpuser_wg_create(const char *tun_name,
goto oerr1;
}
+ if (strlcpy(wgu->wgu_tun_name, tun_name, sizeof(wgu->wgu_tun_name))
+ >= sizeof(wgu->wgu_tun_name)) {
+ rv = EINVAL;
+ goto oerr2;
+ }
+ wgu->wgu_sc = wg;
+
wgu->wgu_fd = open_tun(tun_name);
if (wgu->wgu_fd == -1) {
rv = errno;
goto oerr2;
}
- strcpy(wgu->wgu_tun_name, tun_name);
- wgu->wgu_sc = wg;
if (pipe(wgu->wgu_pipe) == -1) {
rv = errno;