errcheck strlcat
This commit is contained in:
parent
8aa3acd2d4
commit
f9dc956824
19
main.c
19
main.c
|
@ -24,6 +24,7 @@ void display_file(const char *, const char *);
|
||||||
void status (const int, const char *, const char *);
|
void status (const int, const char *, const char *);
|
||||||
void drop_privileges(const char *, const char *);
|
void drop_privileges(const char *, const char *);
|
||||||
void eunveil(const char *path, const char *permissions);
|
void eunveil(const char *path, const char *permissions);
|
||||||
|
size_t estrlcat(char *dst, const char *src, size_t dstsize);
|
||||||
size_t estrlcpy(char *dst, const char *src, size_t dstsize);
|
size_t estrlcpy(char *dst, const char *src, size_t dstsize);
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -48,6 +49,16 @@ estrlcpy(char *dst, const char *src, size_t dstsize)
|
||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
size_t
|
||||||
|
estrlcat(char *dst, const char *src, size_t dstsize)
|
||||||
|
{
|
||||||
|
size_t size;
|
||||||
|
if ((size = strlcat(dst, src, dstsize)) >= dstsize)
|
||||||
|
err(1, "strlcat");
|
||||||
|
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
drop_privileges(const char *user, const char *path)
|
drop_privileges(const char *user, const char *path)
|
||||||
{
|
{
|
||||||
|
@ -260,7 +271,7 @@ main(int argc, char **argv)
|
||||||
if (strlen(file) == 0)
|
if (strlen(file) == 0)
|
||||||
estrlcpy(file, "/index.gmi", 11);
|
estrlcpy(file, "/index.gmi", 11);
|
||||||
if (file[strlen(file) - 1] == '/')
|
if (file[strlen(file) - 1] == '/')
|
||||||
strlcat(file, "index.gmi", sizeof(file));
|
estrlcat(file, "index.gmi", sizeof(file));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
syslog(LOG_DAEMON, "unknown situation after parsing query");
|
syslog(LOG_DAEMON, "unknown situation after parsing query");
|
||||||
|
@ -281,11 +292,11 @@ main(int argc, char **argv)
|
||||||
* path/foobar/hello
|
* path/foobar/hello
|
||||||
*/
|
*/
|
||||||
if (virtualhost) {
|
if (virtualhost) {
|
||||||
strlcat(path, hostname, sizeof(path));
|
estrlcat(path, hostname, sizeof(path));
|
||||||
strlcat(path, "/", sizeof(path));
|
estrlcat(path, "/", sizeof(path));
|
||||||
}
|
}
|
||||||
/* add the base dir to the file requested */
|
/* add the base dir to the file requested */
|
||||||
strlcat(path, file, sizeof(path));
|
estrlcat(path, file, sizeof(path));
|
||||||
|
|
||||||
/* open file and send it to stdout */
|
/* open file and send it to stdout */
|
||||||
display_file(path, lang);
|
display_file(path, lang);
|
||||||
|
|
Loading…
Reference in New Issue