summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2000-04-22 08:28:22 +0000
committerAndrew Tridgell <tridge@samba.org>2000-04-22 08:28:22 +0000
commit1106fa7f24d229c3877263b7a7dde359556435e6 (patch)
tree140928965e49f3cf951cf18e51e73cc914006054
parent14251aab2ec00aa7f3e6a6e791e78732cb5a9eda (diff)
downloadsamba-1106fa7f24d229c3877263b7a7dde359556435e6.tar.gz
samba-1106fa7f24d229c3877263b7a7dde359556435e6.tar.xz
samba-1106fa7f24d229c3877263b7a7dde359556435e6.zip
fixed overlapping strcpy() found by insure
-rw-r--r--source/smbd/reply.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/source/smbd/reply.c b/source/smbd/reply.c
index 3acfd988d63..baff8f2ac87 100644
--- a/source/smbd/reply.c
+++ b/source/smbd/reply.c
@@ -260,10 +260,9 @@ int reply_tcon(connection_struct *conn,
/****************************************************************************
Reply to a tcon and X.
****************************************************************************/
-
int reply_tcon_and_X(connection_struct *conn, char *inbuf,char *outbuf,int length,int bufsize)
{
- pstring service;
+ fstring service;
pstring user;
pstring password;
pstring devicename;
@@ -295,11 +294,9 @@ int reply_tcon_and_X(connection_struct *conn, char *inbuf,char *outbuf,int lengt
passlen = strlen(password);
}
- fstrcpy(service,path+2);
- p = strchr(service,'\\');
+ p = strchr(path+2,'\\');
if (!p)
return(ERROR(ERRSRV,ERRinvnetname));
- *p = 0;
fstrcpy(service,p+1);
p = strchr(service,'%');
if (p) {
@@ -309,11 +306,11 @@ int reply_tcon_and_X(connection_struct *conn, char *inbuf,char *outbuf,int lengt
StrnCpy(devicename,path + strlen(path) + 1,6);
DEBUG(4,("Got device type %s\n",devicename));
- /*
- * Ensure the user and password names are in UNIX codepage format.
- */
+ /*
+ * Ensure the user and password names are in UNIX codepage format.
+ */
- dos_to_unix(user,True);
+ dos_to_unix(user,True);
if (!doencrypt)
dos_to_unix(password,True);