From f7608e853596bcb6e8d3d4dd6bb4407fa090fbc1 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sat, 22 Apr 2000 08:28:22 +0000 Subject: fixed overlapping strcpy() found by insure (This used to be commit 1106fa7f24d229c3877263b7a7dde359556435e6) --- source3/smbd/reply.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'source3/smbd/reply.c') diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 3acfd988d6..baff8f2ac8 100644 --- a/source3/smbd/reply.c +++ b/source3/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); -- cgit