//};
void Client::fill_dirent(struct dirent *de, const char *name, int type, uint64_t ino, loff_t next_off)
{
- strncpy(de->d_name, name, 256);
+ strncpy(de->d_name, name, 255);
+ de->d_name[255] = '\0';
#ifndef __CYGWIN__
de->d_ino = ino;
#ifndef DARWIN
rootid = id;
char format[20];
+ format[sizeof(format)-1] = '\0';
if (l.size)
- snprintf(format, sizeof(format), "%s%%d", l.name);
+ snprintf(format, sizeof(format)-1, "%s%%d", l.name);
else
- strcpy(format, l.name);
+ strncpy(format, l.name, sizeof(format)-1);
char name[20];
snprintf(name, sizeof(name), format, i);
crush.set_item_name(id, name);
{
struct btrfs_ioctl_vol_args volargs;
memset(&volargs, 0, sizeof(volargs));
- strcpy(volargs.name, s);
+ strncpy(volargs.name, s, sizeof(volargs.name)-1);
int fd = ::open(basedir.c_str(), O_RDONLY);
if (fd < 0) {
int err = errno;