Replace strerror_r with mxs_strerror

The mxs_strerror function requires no local buffer, thus making it simpler
and cleaner to use.
This commit is contained in:
Markus Mäkelä
2017-03-07 12:18:53 +02:00
parent d7e48f93bb
commit e1a1959bc2
33 changed files with 174 additions and 337 deletions

View File

@ -93,9 +93,8 @@ secrets_readKeys(const char* path)
}
else
{
char errbuf[MXS_STRERROR_BUFLEN];
MXS_ERROR("The provided path \"%s\" does not exist or cannot be accessed. "
"Error: %d, %s.", path, errno, strerror_r(errno, errbuf, sizeof(errbuf)));
"Error: %d, %s.", path, errno, mxs_strerror(errno));
return NULL;
}
@ -115,22 +114,20 @@ secrets_readKeys(const char* path)
{
if (!reported)
{
char errbuf[MXS_STRERROR_BUFLEN];
MXS_NOTICE("Encrypted password file %s can't be accessed "
"(%s). Password encryption is not used.",
secret_file,
strerror_r(eno, errbuf, sizeof(errbuf)));
mxs_strerror(eno));
reported = 1;
}
}
else
{
char errbuf[MXS_STRERROR_BUFLEN];
MXS_ERROR("Access for secrets file "
"[%s] failed. Error %d, %s.",
secret_file,
eno,
strerror_r(eno, errbuf, sizeof(errbuf)));
mxs_strerror(eno));
}
return NULL;
}
@ -141,12 +138,11 @@ secrets_readKeys(const char* path)
{
int eno = errno;
errno = 0;
char errbuf[MXS_STRERROR_BUFLEN];
MXS_ERROR("Failed opening secret "
"file [%s]. Error %d, %s.",
secret_file,
eno,
strerror_r(eno, errbuf, sizeof(errbuf)));
mxs_strerror(eno));
return NULL;
}
@ -157,12 +153,11 @@ secrets_readKeys(const char* path)
int eno = errno;
errno = 0;
close(fd);
char errbuf[MXS_STRERROR_BUFLEN];
MXS_ERROR("fstat for secret file %s "
"failed. Error %d, %s.",
secret_file,
eno,
strerror_r(eno, errbuf, sizeof(errbuf)));
mxs_strerror(eno));
return NULL;
}
@ -171,12 +166,11 @@ secrets_readKeys(const char* path)
int eno = errno;
errno = 0;
close(fd);
char errbuf[MXS_STRERROR_BUFLEN];
MXS_ERROR("Secrets file %s has "
"incorrect size. Error %d, %s.",
secret_file,
eno,
strerror_r(eno, errbuf, sizeof(errbuf)));
mxs_strerror(eno));
return NULL;
}
if (secret_stats.st_mode != (S_IRUSR | S_IFREG))
@ -206,14 +200,13 @@ secrets_readKeys(const char* path)
errno = 0;
close(fd);
MXS_FREE(keys);
char errbuf[MXS_STRERROR_BUFLEN];
MXS_ERROR("Read from secrets file "
"%s failed. Read %ld, expected %d bytes. Error %d, %s.",
secret_file,
len,
(int)sizeof(MAXKEYS),
eno,
strerror_r(eno, errbuf, sizeof(errbuf)));
mxs_strerror(eno));
return NULL;
}
@ -223,12 +216,11 @@ secrets_readKeys(const char* path)
int eno = errno;
errno = 0;
MXS_FREE(keys);
char errbuf[MXS_STRERROR_BUFLEN];
MXS_ERROR("Failed closing the "
"secrets file %s. Error %d, %s.",
secret_file,
eno,
strerror_r(eno, errbuf, sizeof(errbuf)));
mxs_strerror(eno));
return NULL;
}
ss_dassert(keys != NULL);
@ -271,22 +263,20 @@ int secrets_write_keys(const char *dir)
/* Open for writing | Create | Truncate the file for writing */
if ((fd = open(secret_file, O_CREAT | O_WRONLY | O_TRUNC, S_IRUSR)) < 0)
{
char errbuf[MXS_STRERROR_BUFLEN];
MXS_ERROR("failed opening secret "
"file [%s]. Error %d, %s.",
secret_file,
errno,
strerror_r(errno, errbuf, sizeof(errbuf)));
mxs_strerror(errno));
return 1;
}
/* Open for writing | Create | Truncate the file for writing */
if ((randfd = open("/dev/random", O_RDONLY)) < 0)
{
char errbuf[MXS_STRERROR_BUFLEN];
MXS_ERROR("failed opening /dev/random. Error %d, %s.",
errno,
strerror_r(errno, errbuf, sizeof(errbuf)));
mxs_strerror(errno));
close(fd);
return 1;
}
@ -306,12 +296,11 @@ int secrets_write_keys(const char *dir)
/* Write data */
if (write(fd, &key, sizeof(key)) < 0)
{
char errbuf[MXS_STRERROR_BUFLEN];
MXS_ERROR("failed writing into "
"secret file [%s]. Error %d, %s.",
secret_file,
errno,
strerror_r(errno, errbuf, sizeof(errbuf)));
mxs_strerror(errno));
close(fd);
return 1;
}
@ -319,22 +308,20 @@ int secrets_write_keys(const char *dir)
/* close file */
if (close(fd) < 0)
{
char errbuf[MXS_STRERROR_BUFLEN];
MXS_ERROR("failed closing the "
"secret file [%s]. Error %d, %s.",
secret_file,
errno,
strerror_r(errno, errbuf, sizeof(errbuf)));
mxs_strerror(errno));
}
if (chmod(secret_file, S_IRUSR) < 0)
{
char errbuf[MXS_STRERROR_BUFLEN];
MXS_ERROR("failed to change the permissions of the"
"secret file [%s]. Error %d, %s.",
secret_file,
errno,
strerror_r(errno, errbuf, sizeof(errbuf)));
mxs_strerror(errno));
}
return 0;