/* Configuration variables */
config_t config;
-static char* crash_crash_path;
+static char* crash_dump_path;
static char* crash_temp_path;
/* Paths and variables */
const char *crash_subdir = cinfo->livedump ? LIVE_PATH_SUBDIR : CRASH_PATH_SUBDIR;
tmp_len = strlen(config.crash_root_path) + strlen(crash_subdir);
- crash_crash_path = (char*)malloc(tmp_len + 1);
- if (crash_crash_path == NULL) {
- _E("Couldn't allocate memory for crash_crash_path: %m\n");
+ crash_dump_path = (char*)malloc(tmp_len + 1);
+ if (crash_dump_path == NULL) {
+ _E("Couldn't allocate memory for crash_dump_path: %m\n");
return 0;
}
- snprintf(crash_crash_path, tmp_len + 1, "%s%s", config.crash_root_path, crash_subdir);
+ snprintf(crash_dump_path, tmp_len + 1, "%s%s", config.crash_root_path, crash_subdir);
tmp_len = strlen(config.crash_root_path) + strlen(CRASH_TEMP_SUBDIR);
crash_temp_path = (char*)malloc(tmp_len + 1);
static bool make_dump_dir(void)
{
- const char *dirs[] = {crash_crash_path, crash_temp_path};
+ const char *dirs[] = {crash_dump_path, crash_temp_path};
for (size_t i = 0; i < ARRAY_SIZE(dirs); i++) {
const char *dirname = dirs[i];
if (config.allow_zip)
ret = asprintf(&cinfo->result_path,
- "%s/%s.zip", crash_crash_path, cinfo->name);
+ "%s/%s.zip", crash_dump_path, cinfo->name);
else
ret = asprintf(&cinfo->result_path,
- "%s/%s", crash_crash_path, cinfo->name);
+ "%s/%s", crash_dump_path, cinfo->name);
if (ret == -1) {
_E("Failed to asprintf for result path");
cinfo->result_path = NULL;
{
int fd;
- if ((fd = open(crash_crash_path, O_RDONLY | O_DIRECTORY)) < 0) {
- _E("Failed to open %s", crash_crash_path);
+ if ((fd = open(crash_dump_path, O_RDONLY | O_DIRECTORY)) < 0) {
+ _E("Failed to open %s: %m", crash_dump_path);
return -1;
}
if (flock(fd, LOCK_EX) < 0) {
- _E("Failed to flock (LOCK)");
+ _E("Failed to lock %s for exclusive access: %m", crash_dump_path);
close(fd);
return -1;
}
int i, scan_num, dump_num = 0;
int fd;
- if ((fd = open(crash_crash_path, O_DIRECTORY)) < 0) {
- _E("Failed to open %s", crash_crash_path);
+ if ((fd = open(crash_dump_path, O_DIRECTORY)) < 0) {
+ _E("Failed to open %s: %m", crash_dump_path);
return -1;
}
- scan_num = scandir(crash_crash_path, &scan_list, &dump_filter, NULL);
+ scan_num = scandir(crash_dump_path, &scan_list, &dump_filter, NULL);
if (scan_num < 0) {
close(fd);
return -1;
}
if (asprintf(&(temp_list[dump_num].path), "%s/%s",
- crash_crash_path, scan_list[i]->d_name) < 0) {
+ crash_dump_path, scan_list[i]->d_name) < 0) {
_E("Failed to asprintf");
continue;
}
} else {
free(cinfo.result_path);
if (asprintf(&cinfo.result_path, "%s/%s.info",
- crash_crash_path, cinfo.name) == -1) {
+ crash_dump_path, cinfo.name) == -1) {
cinfo.result_path = NULL;
_E("asprintf() error: %m");
res = EXIT_FAILURE;
if (cinfo.prstatus_fd >= 0)
close(cinfo.prstatus_fd);
free(crash_temp_path);
- free(crash_crash_path);
+ free(crash_dump_path);
config_free(&config);
free_crash_info(&cinfo);