summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/vorbis/vcedit.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/plugins/vorbis/vcedit.c b/plugins/vorbis/vcedit.c
index 5709f89c..00a3a47f 100644
--- a/plugins/vorbis/vcedit.c
+++ b/plugins/vorbis/vcedit.c
@@ -33,6 +33,7 @@
#include <limits.h>
#include <unistd.h>
#include <stdbool.h>
+#include <sys/stat.h>
#include <ogg/ogg.h>
#include <deadbeef.h>
#include "vcedit.h"
@@ -220,6 +221,11 @@ off_t vcedit_write_metadata(DB_FILE *in, const char *fname, int link, const char
*lasterror = "file not opened for reading.";
goto cleanup;
}
+ struct stat stat_struct;
+ if (stat(fname, &stat_struct) || chmod(outname, stat_struct.st_mode)) {
+ *lasterror = "cannot transfer file permissions.";
+ goto cleanup;
+ }
/* Copy through pages until we reach the right info header */
int codec_serial = 0;