diff options
Diffstat (limited to 'source3/locking')
-rw-r--r-- | source3/locking/locking_shm.c | 2 | ||||
-rw-r--r-- | source3/locking/locking_slow.c | 16 | ||||
-rw-r--r-- | source3/locking/shmem.c | 6 |
3 files changed, 13 insertions, 11 deletions
diff --git a/source3/locking/locking_shm.c b/source3/locking/locking_shm.c index e3c65ce2863..afca567033a 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 d6ac6efac14..635cd08e9aa 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 9f24076171b..21aaa9e24f5 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)) |