On Mon, 21 Feb 2011 15:58:28 +0100
Jiri Moskovcak <jmoskovc(a)redhat.com> wrote:
creating a file with mode 0 is probably not a good idea, so this
patch changes it to more sane defaults.
From 1b7fd0f01c0b9a5d727da26ab317c9eca667c253 Mon Sep 17 00:00:00 2001
Message-Id:
<1b7fd0f01c0b9a5d727da26ab317c9eca667c253.1298375413.git.npajkovs(a)redhat.com>
From: Nikola Pajkovsky <npajkovs(a)redhat.com> Date: Tue, 22 Feb 2011
12:44:35 +0100 Subject: [PATCH] fix owner, group and access permissions
for /proc/<pid>/[maps,smaps] file
Before owner and group were root:root with 000 permission. Now it is
abrt:<owner> and permissions is set to 640
Signed-off-by: Nikola Pajkovsky <npajkovs(a)redhat.com>
---
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 19d2984..1a7d885 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 */
--
1.7.1
--
Nikola