Fix getcwd() warning
authorBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 18 Mar 2011 20:54:27 +0000 (13:54 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 18 Mar 2011 20:54:49 +0000 (13:54 -0700)
New versions glibc declare getcwd() with the warn_unused_result attribute.
This results in a warning because the updated mount helper was not
checking this return value.  This issue was fixed by checking the return
type and in the case of an error simply returning the passed dataset.
One possible, but unlikely, error would be having your cwd directory
unlinked while the mount command was running.

  cmd/mount_zfs/mount_zfs.c: In function ‘parse_dataset’:
  cmd/mount_zfs/mount_zfs.c:223:2: error: ignoring return value of
      ‘getcwd’, declared with attribute warn_unused_result

cmd/mount_zfs/mount_zfs.c

index fbb954a..090c915 100644 (file)
@@ -220,7 +220,9 @@ parse_dataset(char *dataset)
        char cwd[PATH_MAX];
        int len;
 
-       (void) getcwd(cwd, PATH_MAX);
+       if (getcwd(cwd, PATH_MAX) == NULL)
+               return (dataset);
+
        len = strlen(cwd);
 
        /* Do not add one when cwd already ends in a trailing '/' */