summaryrefslogtreecommitdiff
path: root/playlist.c
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-12-16 23:00:55 +0100
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-12-16 23:00:55 +0100
commit4a7c7b514ed56091382a6a4eac91220e7571cae7 (patch)
tree4abe9771036bfe592faeb3016abbc7c39379827c /playlist.c
parent12ddfb5d72aad34d602f1e841b301e6fac84a0fc (diff)
fixed possible buffer overflow in pl_insert_dir
Diffstat (limited to 'playlist.c')
-rw-r--r--playlist.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/playlist.c b/playlist.c
index 5ef853b7..e6807cf1 100644
--- a/playlist.c
+++ b/playlist.c
@@ -642,10 +642,8 @@ pl_insert_dir (playItem_t *after, const char *dirname, int *pabort, int (*cb)(pl
// no hidden files
if (namelist[i]->d_name[0] != '.')
{
- char fullname[1024];
- strcpy (fullname, dirname);
- strncat (fullname, "/", 1024);
- strncat (fullname, namelist[i]->d_name, 1024);
+ char fullname[PATH_MAX];
+ snprintf (fullname, sizeof (fullname), "%s/%s", dirname, namelist[i]->d_name);
playItem_t *inserted = pl_insert_dir (after, fullname, pabort, cb, user_data);
if (!inserted) {
inserted = pl_insert_file (after, fullname, pabort, cb, user_data);