Maximilien Siavelis
2019-05-06 59521087f7c80c40525b17431f2988a815a842a0
src/library/os/os-linux.c
@@ -65,11 +65,11 @@
   struct mntent *ent;
   int maxDrives, currentDrive, i, drive_found;
   __ino64_t *statDrives;
   DiskInfo *tmpDrives;
   FILE *aFile;
   DIR *disk_by_uuid_dir, *disk_by_label;
   struct dirent *dir;
   __ino64_t *statDrives = NULL;
   DiskInfo *tmpDrives = NULL;
   FILE *aFile = NULL;
   DIR *disk_by_uuid_dir = NULL, *disk_by_label = NULL;
   struct dirent *dir = NULL;
   FUNCTION_RETURN result;
   if (diskInfos != NULL) {
@@ -87,6 +87,8 @@
   aFile = setmntent("/proc/mounts", "r");
   if (aFile == NULL) {
      /*proc not mounted*/
      free(tmpDrives);
      free(statDrives);
      return FUNC_RET_ERROR;
   }
@@ -107,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++;
@@ -167,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);
                  }
@@ -288,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);