summaryrefslogtreecommitdiff
path: root/smbnetfs.c
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-03-04 17:22:41 +0000
committerLudovic Courtès <ludo@gnu.org>2012-03-04 17:22:41 +0000
commitccded016b257e241fd65fde19852313a98369458 (patch)
tree3d6c91a9518d838dc5fbc89be16ddb83934c8239 /smbnetfs.c
parentadf8bbf12dfe48f962fb498879c30b0816f76086 (diff)
Use `asprintf' in the `get_dirents' loop, too.
Diffstat (limited to 'smbnetfs.c')
-rw-r--r--smbnetfs.c12
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);