diff options
Diffstat (limited to 'src/hooks/abrt-hook-ccpp.c')
-rw-r--r-- | src/hooks/abrt-hook-ccpp.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/hooks/abrt-hook-ccpp.c b/src/hooks/abrt-hook-ccpp.c index 6014f099..ea618cf9 100644 --- a/src/hooks/abrt-hook-ccpp.c +++ b/src/hooks/abrt-hook-ccpp.c @@ -503,10 +503,12 @@ int main(int argc, char** argv) int base_name = sprintf(source_filename, "/proc/%lu/smaps", (long)pid); base_name -= strlen("smaps"); char *dest_filename = concat_path_file(dd->dd_dir, FILENAME_SMAPS); - copy_file(source_filename, dest_filename, 0); + copy_file(source_filename, dest_filename, S_IRUSR | S_IRGRP | S_IWUSR); + chown(dest_filename, dd->dd_uid, dd->dd_gid); strcpy(source_filename + base_name, "maps"); strcpy(strrchr(dest_filename, '/') + 1, FILENAME_MAPS); - copy_file(source_filename, dest_filename, 0); + copy_file(source_filename, dest_filename, S_IRUSR | S_IRGRP | S_IWUSR); + chown(dest_filename, dd->dd_uid, dd->dd_gid); free(dest_filename); char *cmdline = get_cmdline(pid); /* never NULL */ |