diff options
author | Zdenek Prikryl <zprikryl@redhat.com> | 2009-06-30 09:14:12 +0200 |
---|---|---|
committer | Zdenek Prikryl <zprikryl@redhat.com> | 2009-06-30 09:14:12 +0200 |
commit | dcca51525ab4994cb8c1232e9698a534109288db (patch) | |
tree | bf514895323c86de40989b5bc73954f8515c151f /src/Hooks/CCpp.cpp | |
parent | a0c9339e53a2e9c2d340aeecadd00fbc62e8443b (diff) | |
download | abrt-dcca51525ab4994cb8c1232e9698a534109288db.tar.gz abrt-dcca51525ab4994cb8c1232e9698a534109288db.tar.xz abrt-dcca51525ab4994cb8c1232e9698a534109288db.zip |
fixed security issue
User can read only his debugdump directories
Diffstat (limited to 'src/Hooks/CCpp.cpp')
-rw-r--r-- | src/Hooks/CCpp.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/Hooks/CCpp.cpp b/src/Hooks/CCpp.cpp index 1d895c24..2a7e60c2 100644 --- a/src/Hooks/CCpp.cpp +++ b/src/Hooks/CCpp.cpp @@ -127,7 +127,7 @@ int daemon_is_ok() int main(int argc, char** argv) { const char* program_name = argv[0]; - if (argc < 3) + if (argc < 4) { fprintf(stderr, "Usage: %s: <dddir> <pid> <signal> <uid>\n", program_name); @@ -172,10 +172,9 @@ int main(int argc, char** argv) } snprintf(path, sizeof(path), "%s/ccpp-%ld-%s", dddir, time(NULL), pid); - dd.Create(path); + dd.Create(path, uid); dd.SaveText(FILENAME_ANALYZER, "CCpp"); dd.SaveText(FILENAME_EXECUTABLE, executable); - dd.SaveText(FILENAME_UID, uid); dd.SaveText(FILENAME_CMDLINE, cmdline); dd.SaveText(FILENAME_REASON, std::string("Process was terminated by signal ") + signal); |