diff options
| author | stacktic <stacktic@NetBSD.org> | 2013-12-15 21:48:55 +0000 |
|---|---|---|
| committer | stacktic <stacktic@NetBSD.org> | 2013-12-15 21:48:55 +0000 |
| commit | f09a83a64ff9f8610b051b698963957bb4e6a85a (patch) | |
| tree | 33df3d76a178c9a5835927113f7c32c23ca880ed /dist | |
| parent | 4f416119fb8693511dd96c2128c72b2651392332 (diff) | |
nb_name_len does not increase size when nn_scope contains only a \0,
do the same on nb_name_encode to avoid a buffer overflow
Diffstat (limited to 'dist')
| -rw-r--r-- | dist/smbfs/lib/smb/nb_name.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/dist/smbfs/lib/smb/nb_name.c b/dist/smbfs/lib/smb/nb_name.c index 9fbdafb7594..ca40c24f963 100644 --- a/dist/smbfs/lib/smb/nb_name.c +++ b/dist/smbfs/lib/smb/nb_name.c @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: nb_name.c,v 1.6 2013/12/15 21:45:07 stacktic Exp $"); +__RCSID("$NetBSD: nb_name.c,v 1.7 2013/12/15 21:48:55 stacktic Exp $"); #include <sys/param.h> #include <sys/socket.h> @@ -183,7 +183,7 @@ nb_name_encode(struct nb_name *np, u_char *dst) cp += 2; } *cp = 0; - if (np->nn_scope == NULL) + if (np->nn_scope == NULL || *np->nn_scope == 0) return nb_encname_len(dst); plen = cp++; lblen = 0; |
