This diff aims at removing some warnings seen in -portable.
- gcc has a hard time to realize when a variable like noop ensures that
an other variable is not used.
- Similar the switch () statements in http.c include all possible enums but
gcc warns about control reaches end of non-void function.
- Assigning the return value of asprintf() to a size_t is problematic. Do it
in two steps.
- Also remove the no longer used repo index from struct entity.
--
:wq Claudio
Index: extern.h
===================================================================
RCS file: /cvs/src/usr.sbin/rpki-client/extern.h,v
retrieving revision 1.53
diff -u -p -r1.53 extern.h
--- extern.h 5 Mar 2021 17:15:19 -0000 1.53
+++ extern.h 18 Mar 2021 09:11:43 -0000
@@ -271,7 +271,6 @@ enum rtype {
struct entity {
enum rtype type; /* type of entity (not RTYPE_EOF) */
char *file; /* local path to file */
- ssize_t repo; /* repo index or <0 if w/o repo */
int has_pkey; /* whether pkey/sz is specified */
unsigned char *pkey; /* public key (optional) */
size_t pkeysz; /* public key length (optional) */
Index: http.c
===================================================================
RCS file: /cvs/src/usr.sbin/rpki-client/http.c,v
retrieving revision 1.5
diff -u -p -r1.5 http.c
--- http.c 4 Mar 2021 15:44:13 -0000 1.5
+++ http.c 18 Mar 2021 07:33:20 -0000
@@ -596,7 +596,7 @@ static int
http_request(struct http_connection *conn)
{
char *host, *epath, *modified_since;
- int with_port = 0;
+ int r, with_port = 0;
/* TODO adjust request for HTTP proxy setups */
@@ -634,7 +634,7 @@ http_request(struct http_connection *con
free(conn->buf);
conn->bufpos = 0;
- if ((conn->bufsz = asprintf(&conn->buf,
+ if ((r = asprintf(&conn->buf,
"GET /%s HTTP/1.1\r\n"
"Connection: close\r\n"
"User-Agent: " HTTP_USER_AGENT "\r\n"
@@ -642,6 +642,7 @@ http_request(struct http_connection *con
epath, host,
modified_since ? modified_since : "")) == -1)
err(1, NULL);
+ conn->bufsz = r;
free(epath);
free(host);
@@ -1032,6 +1033,7 @@ http_handle(struct http_connection *conn
case STATE_FREE:
errx(1, "bad http state");
}
+ errx(1, "unknown http state");
}
static int
@@ -1084,6 +1086,7 @@ http_nextstep(struct http_connection *co
case STATE_FREE:
errx(1, "bad http state");
}
+ errx(1, "unknown http state");
}
static int
Index: main.c
===================================================================
RCS file: /cvs/src/usr.sbin/rpki-client/main.c,v
retrieving revision 1.119
diff -u -p -r1.119 main.c
--- main.c 15 Mar 2021 08:56:31 -0000 1.119
+++ main.c 18 Mar 2021 09:12:55 -0000
@@ -1018,8 +1018,10 @@ main(int argc, char *argv[])
close(fd[0]);
rsync = fd[1];
- } else
+ } else {
rsync = -1;
+ rsyncpid = -1;
+ }
/*
* Create a process that will fetch data via https.
@@ -1051,8 +1053,10 @@ main(int argc, char *argv[])
close(fd[0]);
http = fd[1];
- } else
+ } else {
http = -1;
+ httppid = -1;
+ }
if (pledge("stdio rpath wpath cpath fattr sendfd", NULL) == -1)
err(1, "pledge");