diff options
author | Ludovic Courtès <ludo@gnu.org> | 2012-03-04 17:22:41 +0000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2012-03-04 17:22:41 +0000 |
commit | ccded016b257e241fd65fde19852313a98369458 (patch) | |
tree | 3d6c91a9518d838dc5fbc89be16ddb83934c8239 | |
parent | adf8bbf12dfe48f962fb498879c30b0816f76086 (diff) |
Use `asprintf' in the `get_dirents' loop, too.
-rw-r--r-- | smbnetfs.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/smbnetfs.c b/smbnetfs.c index 643080566..ff3066405 100644 --- a/smbnetfs.c +++ b/smbnetfs.c @@ -932,12 +932,8 @@ netfs_get_dirents (struct iouser *cred, struct node *dir, int entry, else continue; - char stat_file_name[strlen (dir->nn->filename) - + strlen (dirent->name) + 2]; - if (!strcmp (dirent->name, ".")) { - strcpy (stat_file_name, "."); mutex_lock (&smb_mutex); err = smbc_stat (dir->nn->filename, &st); mutex_unlock (&smb_mutex); @@ -949,7 +945,13 @@ netfs_get_dirents (struct iouser *cred, struct node *dir, int entry, } else { - sprintf (stat_file_name,"%s/%s", dir->nn->filename, dirent->name); + char *stat_file_name; + + asprintf (&stat_file_name, "%s/%s", + dir->nn->filename, dirent->name); + if (stat_file_name == NULL) + return ENOMEM; + mutex_lock (&smb_mutex); err = smbc_stat (stat_file_name, &st); mutex_unlock (&smb_mutex); |