Jan Willamowius
2019-04-22 56eba164bd725d7f2b3a0f7df9d165e84cb7fe10
make sure there is room for nul byte
1个文件已修改
6 ■■■■ 已修改文件
src/library/os/os-linux.c 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/library/os/os-linux.c
@@ -109,7 +109,7 @@
                if (drive_found == -1) {
                    LOG_DEBUG("mntent: %s %s %d\n", ent->mnt_fsname, ent->mnt_dir,
                            (unsigned long int)mount_stat.st_ino);
                    strcpy(tmpDrives[currentDrive].device, ent->mnt_fsname);
                    strncpy(tmpDrives[currentDrive].device, ent->mnt_fsname, 255-1);
                    statDrives[currentDrive] = mount_stat.st_ino;
                    drive_found = currentDrive;
                    currentDrive++;
@@ -169,7 +169,7 @@
                if (stat(cur_dir, &sym_stat) == 0) {
                    for (i = 0; i < currentDrive; i++) {
                        if (sym_stat.st_ino == statDrives[i]) {
                            strncpy(tmpDrives[i].label, dir->d_name, 255);
                            strncpy(tmpDrives[i].label, dir->d_name, 255-1);
                            printf("label %d %s %s\n", i, tmpDrives[i].label,
                                    tmpDrives[i].device);
                        }
@@ -290,7 +290,7 @@
    strcat(proc_path, pidStr);
    strcat(proc_path, "/exe");
    int ch = readlink(proc_path, path, MAX_PATH);
    int ch = readlink(proc_path, path, MAX_PATH-1);
    if (ch != -1) {
        path[ch] = '\0';
        strncpy(buffer, path, ch);