diff options
author | Jeremy Allison <jra@samba.org> | 2003-08-28 18:23:05 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2003-08-28 18:23:05 +0000 |
commit | 68d02ebbcd9bc4cf7c84763d03c903b1f2e55fb8 (patch) | |
tree | 14669436df140a5e2db72f956b35ea0422e35aec /source/nmbd | |
parent | 35a0b3c035d50474eda97b015676885722737a95 (diff) | |
download | samba-68d02ebbcd9bc4cf7c84763d03c903b1f2e55fb8.tar.gz samba-68d02ebbcd9bc4cf7c84763d03c903b1f2e55fb8.tar.xz samba-68d02ebbcd9bc4cf7c84763d03c903b1f2e55fb8.zip |
Add length warning on register name.
Jeremy.
Diffstat (limited to 'source/nmbd')
-rw-r--r-- | source/nmbd/nmbd_nameregister.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/source/nmbd/nmbd_nameregister.c b/source/nmbd/nmbd_nameregister.c index 5c9deeb4dbe..0397f565125 100644 --- a/source/nmbd/nmbd_nameregister.c +++ b/source/nmbd/nmbd_nameregister.c @@ -471,8 +471,18 @@ void register_name(struct subnet_record *subrec, struct userdata_struct *userdata) { struct nmb_name nmbname; - - make_nmb_name(&nmbname, name, type); + nstring nname; + + if (strlen(name)+1 > sizeof(nstring)) { + memcpy(nname, name,sizeof(nstring)-1); + nname[sizeof(nstring)-1] = '\0'; + DEBUG(0,("register_name: NetBIOS name %s is too long. Truncating to %s\n", + name, nname)); + } else { + nstrcpy(nname,name); + } + + make_nmb_name(&nmbname, nname, type); /* Always set the NB_ACTIVE flag on the name we are registering. Doesn't make sense without it. |