diff options
author | Stef Walter <stef@thewalter.net> | 2013-07-17 18:08:11 +0200 |
---|---|---|
committer | Stef Walter <stef@thewalter.net> | 2013-07-18 13:04:37 +0200 |
commit | 9a1fe66f08149596567fedb4e2338ae786a19ab9 (patch) | |
tree | 562ee2eedc17f0dd83f62890d3b4d12f02ee5a72 /trust | |
parent | e403f7b33ac35e961c72ed1b6335bbe3084e4642 (diff) |
Avoid using the non-thread-safe strerror() function
https://bugzilla.redhat.com/show_bug.cgi?id=985481
Diffstat (limited to 'trust')
-rw-r--r-- | trust/parser.c | 2 | ||||
-rw-r--r-- | trust/save.c | 47 | ||||
-rw-r--r-- | trust/token.c | 19 |
3 files changed, 24 insertions, 44 deletions
diff --git a/trust/parser.c b/trust/parser.c index b433508..4129cc0 100644 --- a/trust/parser.c +++ b/trust/parser.c @@ -760,7 +760,7 @@ p11_parse_file (p11_parser *parser, map = p11_mmap_open (filename, &data, &size); if (map == NULL) { - p11_message ("couldn't open and map file: %s: %s", filename, strerror (errno)); + p11_message_err (errno, "couldn't open and map file: %s", filename); return P11_PARSE_FAILURE; } diff --git a/trust/save.c b/trust/save.c index 0f047fc..a549d93 100644 --- a/trust/save.c +++ b/trust/save.c @@ -105,8 +105,7 @@ p11_save_open_file (const char *path, fd = mkstemp (temp); if (fd < 0) { - p11_message ("couldn't create file: %s%s: %s", - path, extension, strerror (errno)); + p11_message_err (errno, "couldn't create file: %s%s", path, extension); free (temp); return NULL; } @@ -148,8 +147,7 @@ p11_save_write (p11_save_file *file, if (res <= 0) { if (errno == EAGAIN && errno == EINTR) continue; - p11_message ("couldn't write to file: %s: %s", - file->temp, strerror (errno)); + p11_message_err (errno, "couldn't write to file: %s", file->temp); return false; } else { written += res; @@ -179,8 +177,7 @@ on_unique_try_link (void *data, if (link (file->temp, path) < 0) { if (errno == EEXIST) return 0; /* Continue trying other names */ - p11_message ("couldn't complete writing of file: %s: %s", - path, strerror (errno)); + p11_message_err (errno, "couldn't complete writing of file: %s", path); return -1; } @@ -198,8 +195,7 @@ on_unique_try_rename (void *data, if (rename (file->temp, path) < 0) { if (errno == EEXIST) return 0; /* Continue trying other names */ - p11_message ("couldn't complete writing of file: %s: %s", - path, strerror (errno)); + p11_message ("couldn't complete writing of file: %s", path); return -1; } @@ -230,23 +226,20 @@ p11_save_finish_file (p11_save_file *file, return_val_if_reached (false); if (close (file->fd) < 0) { - p11_message ("couldn't write file: %s: %s", - file->temp, strerror (errno)); + p11_message_err (errno, "couldn't write file: %s", file->temp); ret = false; #ifdef OS_UNIX /* Set the mode of the file, readable by everyone, but not writable */ } else if (chmod (file->temp, S_IRUSR | S_IRGRP | S_IROTH) < 0) { - p11_message ("couldn't set file permissions: %s: %s", - file->temp, strerror (errno)); + p11_message_err (errno, "couldn't set file permissions: %s", file->temp); close (file->fd); ret = false; /* Atomically rename the tempfile over the filename */ } else if (file->flags & P11_SAVE_OVERWRITE) { if (rename (file->temp, path) < 0) { - p11_message ("couldn't complete writing file: %s: %s", - path, strerror (errno)); + p11_message_err (errno, "couldn't complete writing file: %s", path); ret = false; } else { unlink (file->temp); @@ -264,8 +257,7 @@ p11_save_finish_file (p11_save_file *file, /* When not overwriting, link will fail if filename exists. */ } else { if (link (file->temp, path) < 0) { - p11_message ("couldn't complete writing of file: %s: %s", - path, strerror (errno)); + p11_message_err (errno, "couldn't complete writing of file: %s", path); ret = false; } unlink (file->temp); @@ -284,15 +276,13 @@ p11_save_finish_file (p11_save_file *file, } else if ((file->flags & P11_SAVE_OVERWRITE) && unlink (path) < 0 && errno != ENOENT) { - p11_message ("couldn't remove original file: %s: %s", - path, strerror (errno)); + p11_message_err (errno, "couldn't remove original file: %s", path); ret = false; } if (ret == true && rename (file->temp, path) < 0) { - p11_message ("couldn't complete writing file: %s: %s", - path, strerror (errno)); + p11_message_err (errno, "couldn't complete writing file: %s", path); ret = false; } @@ -330,7 +320,7 @@ p11_save_open_directory (const char *path, #endif /* Some random error, report it */ if (errno != EEXIST) { - p11_message ("couldn't create directory: %s: %s", path, strerror (errno)); + p11_message_err (errno, "couldn't create directory: %s", path); /* The directory exists and we're not overwriting */ } else if (!(flags & P11_SAVE_OVERWRITE)) { @@ -346,8 +336,7 @@ p11_save_open_directory (const char *path, if (stat (path, &sb) >= 0) { if ((sb.st_mode & S_IRWXU) != S_IRWXU && chmod (path, S_IRWXU | sb.st_mode) < 0) { - p11_message ("couldn't make directory writable: %s: %s", - path, strerror (errno)); + p11_message_err (errno, "couldn't make directory writable: %s", path); return NULL; } } @@ -501,8 +490,7 @@ p11_save_symlink_in (p11_save_dir *dir, unlink (path); if (symlink (destination, path) < 0) { - p11_message ("couldn't create symlink: %s: %s", - path, strerror (errno)); + p11_message_err (errno, "couldn't create symlink: %s", path); ret = false; } else { if (!p11_dict_set (dir->cache, name, name)) @@ -534,8 +522,7 @@ cleanup_directory (const char *directory, /* First we load all the modules */ dir = opendir (directory); if (!dir) { - p11_message ("couldn't list directory: %s: %s", - directory, strerror (errno)); + p11_message_err (errno, "couldn't list directory: %s", directory); return false; } @@ -575,8 +562,7 @@ cleanup_directory (const char *directory, p11_dict_iterate (remove, &iter); while (p11_dict_next (&iter, (void **)&path, NULL)) { if (unlink (path) < 0 && errno != ENOENT) { - p11_message ("couldn't remove file: %s: %s", - path, strerror (errno)); + p11_message_err (errno, "couldn't remove file: %s", path); ret = false; break; } @@ -604,8 +590,7 @@ p11_save_finish_directory (p11_save_dir *dir, /* Try to set the mode of the directory to readable */ if (ret && chmod (dir->path, S_IRUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) < 0) { - p11_message ("couldn't set directory permissions: %s: %s", - dir->path, strerror (errno)); + p11_message_err (errno, "couldn't set directory permissions: %s", dir->path); ret = false; } #endif /* OS_UNIX */ diff --git a/trust/token.c b/trust/token.c index 12e9e4c..d2a12d0 100644 --- a/trust/token.c +++ b/trust/token.c @@ -226,8 +226,7 @@ loader_load_if_file (p11_token *token, if (stat (path, &sb) < 0) { if (errno == ENOENT) { - p11_message ("couldn't stat path: %s: %s", - path, strerror (errno)); + p11_message_err (errno, "couldn't stat path: %s", path); } } else if (!S_ISDIR (sb.st_mode)) { @@ -254,8 +253,7 @@ loader_load_directory (p11_token *token, /* First we load all the modules */ dir = opendir (directory); if (!dir) { - p11_message ("couldn't list directory: %s: %s", - directory, strerror (errno)); + p11_message_err (errno, "couldn't list directory: %s", directory); loader_not_loaded (token, directory); return 0; } @@ -297,10 +295,8 @@ loader_load_path (p11_token *token, int ret; if (stat (path, &sb) < 0) { - if (errno != ENOENT) { - p11_message ("cannot access trust certificate path: %s: %s", - path, strerror (errno)); - } + if (errno != ENOENT) + p11_message_err (errno, "cannot access trust certificate path: %s", path); loader_gone_file (token, path); return 0; } @@ -413,8 +409,7 @@ p11_token_reload (p11_token *token, if (errno == ENOENT) { loader_gone_file (token, origin); } else { - p11_message ("cannot access trust file: %s: %s", - origin, strerror (errno)); + p11_message_err (errno, "cannot access trust file: %s", origin); } return false; } @@ -459,7 +454,7 @@ check_directory (const char *path, free (parent); return ret; default: - p11_message ("couldn't access: %s: %s", path, strerror (errno)); + p11_message_err (errno, "couldn't access: %s", path); return false; } } @@ -600,7 +595,7 @@ mkdir_with_parents (const char *path) } /* fall through */ default: - p11_message ("couldn't create directory: %s: %s", path, strerror (errno)); + p11_message_err (errno, "couldn't create directory: %s", path); return false; } } |