summaryrefslogtreecommitdiff
path: root/dist
diff options
context:
space:
mode:
authorstacktic <stacktic@NetBSD.org>2013-12-15 21:48:55 +0000
committerstacktic <stacktic@NetBSD.org>2013-12-15 21:48:55 +0000
commitf09a83a64ff9f8610b051b698963957bb4e6a85a (patch)
tree33df3d76a178c9a5835927113f7c32c23ca880ed /dist
parent4f416119fb8693511dd96c2128c72b2651392332 (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.c4
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;