crash-pipe: Print the executable file path 14/96914/2
authorŁukasz Stelmach <l.stelmach@samsung.com>
Mon, 10 Oct 2016 13:37:27 +0000 (15:37 +0200)
committerŁukasz Stelmach <l.stelmach@samsung.com>
Thu, 8 Dec 2016 13:43:13 +0000 (14:43 +0100)
Change-Id: I730978b87b15a02e9464505426d53b9d2037d85f

src/crash-pipe/crash-pipe.c

index e09d1e1f2fc49ae3d73e715bd0963b8b3d6836a4..a0a113adfa66cab77b0bc15112cc54dfebad90c2 100644 (file)
@@ -30,6 +30,7 @@
 #include <unistd.h>
 #include <fcntl.h>
 #include <getopt.h>
+#include <limits.h>
 
 #define NELEMS(arr) (sizeof(arr)/sizeof(arr[0]))
 
@@ -141,8 +142,13 @@ static void report(int argc, char *argv[])
 
 #define PROC_READ_MAX 16384 /* 4 pages should be enough for any process */
        char proc_readbuf[PROC_READ_MAX];
+       char exe_link[PATH_MAX];
+       char exe_file[PATH_MAX];
 
-       printf("Crash report for: %s\n\n", exestr);
+       snprintf(exe_link, PATH_MAX, "/proc/%s/exe", pidstr);
+       if (readlink(exe_link, exe_file, PATH_MAX) > 0) {
+               printf("Executable File Path: %s\n", exe_file);
+       }
 
        printf(" - passed from kernel -\n"
                   "%16s: %s\n"