summaryrefslogtreecommitdiff
path: root/source3/locking
diff options
context:
space:
mode:
Diffstat (limited to 'source3/locking')
-rw-r--r--source3/locking/locking_shm.c2
-rw-r--r--source3/locking/locking_slow.c16
-rw-r--r--source3/locking/shmem.c6
3 files changed, 13 insertions, 11 deletions
diff --git a/source3/locking/locking_shm.c b/source3/locking/locking_shm.c
index e3c65ce286..afca567033 100644
--- a/source3/locking/locking_shm.c
+++ b/source3/locking/locking_shm.c
@@ -436,7 +436,7 @@ static BOOL shm_set_share_mode(int token, int fnum, uint16 port, uint16 op_type)
new_mode_p->st_ino = inode;
new_mode_p->num_share_mode_entries = 0;
new_mode_p->share_mode_entries = 0;
- strcpy(new_mode_p->file_name, fs_p->name);
+ pstrcpy(new_mode_p->file_name, fs_p->name);
/* Chain onto the start of the hash chain (in the hope we will be used first). */
new_mode_p->next_offset = mode_array[hash_entry];
diff --git a/source3/locking/locking_slow.c b/source3/locking/locking_slow.c
index d6ac6efac1..635cd08e9a 100644
--- a/source3/locking/locking_slow.c
+++ b/source3/locking/locking_slow.c
@@ -81,12 +81,14 @@ static BOOL slow_stop_share_mode_mgmt(void)
******************************************************************/
static BOOL share_name(int cnum, uint32 dev, uint32 inode, char *name)
{
- strcpy(name,lp_lockdir());
+ int len;
+ pstrcpy(name,lp_lockdir());
trim_string(name,"","/");
if (!*name) return(False);
+ len = strlen(name);
name += strlen(name);
- sprintf(name,"/share.%u.%u",dev,inode);
+ slprintf(name, sizeof(pstring) - len - 1, "/share.%u.%u",dev,inode);
return(True);
}
@@ -784,7 +786,7 @@ deleting it.\n", fname));
SIVAL(buf,SMF_VERSION_OFFSET,LOCKING_VERSION);
SIVAL(buf,SMF_NUM_ENTRIES_OFFSET,0);
SSVAL(buf,SMF_FILENAME_LEN_OFFSET,strlen(fs_p->name) + 1);
- strcpy(buf + SMF_HEADER_LENGTH, fs_p->name);
+ pstrcpy(buf + SMF_HEADER_LENGTH, fs_p->name);
}
num_entries = IVAL(buf,SMF_NUM_ENTRIES_OFFSET);
@@ -1001,10 +1003,10 @@ static int slow_share_forall(void (*fn)(share_mode_entry *, char *))
if (sscanf(s,"share.%u.%u",&dev,&inode)!=2) continue;
- strcpy(lname,lp_lockdir());
+ pstrcpy(lname,lp_lockdir());
trim_string(lname,NULL,"/");
- strcat(lname,"/");
- strcat(lname,s);
+ pstrcat(lname,"/");
+ pstrcat(lname,s);
fd = open(lname,read_only?O_RDONLY:O_RDWR,0);
if (fd < 0) {
@@ -1022,7 +1024,7 @@ static int slow_share_forall(void (*fn)(share_mode_entry *, char *))
close(fd);
continue;
}
- strcpy( fname, &buf[10]);
+ pstrcpy( fname, &buf[10]);
close(fd);
base = buf + SMF_HEADER_LENGTH +
diff --git a/source3/locking/shmem.c b/source3/locking/shmem.c
index 9f24076171..21aaa9e24f 100644
--- a/source3/locking/shmem.c
+++ b/source3/locking/shmem.c
@@ -758,7 +758,7 @@ struct shmem_ops *smb_shm_open(int ronly)
}
trim_string(file_name,"","/");
if (!*file_name) return(False);
- strcat(file_name, "/SHARE_MEM_FILE");
+ pstrcat(file_name, "/SHARE_MEM_FILE");
DEBUG(5,("smb_shm_open : using shmem file %s to be of size %d\n",file_name,size));
@@ -799,8 +799,8 @@ struct shmem_ops *smb_shm_open(int ronly)
*/
/* construct processreg file name */
- strcpy(smb_shm_processreg_name, file_name);
- strcat(smb_shm_processreg_name, ".processes");
+ pstrcpy(smb_shm_processreg_name, file_name);
+ pstrcat(smb_shm_processreg_name, ".processes");
if (!read_only &&
!smb_shm_register_process(smb_shm_processreg_name, getpid(), &other_processes))