diff options
author | Russ Allbery <eagle@eyrie.org> | 2020-05-17 19:57:08 -0700 |
---|---|---|
committer | Russ Allbery <eagle@eyrie.org> | 2020-05-17 19:57:08 -0700 |
commit | 1ce29ab7479380f671ba77023e4c08c3ec6a1d9e (patch) | |
tree | 050bb06a5f4a6dbc11956299ff0301b77d4aea1a /client | |
parent | f5d8568f66a66511eb4f38ef985216761fa1bb01 (diff) |
Fix warnings from Clang's analyzer
Suppress a warning about not declaring a function noreturn that's
only noreturn in some configurations. Add an assert to unconfuse
the static analyzer about a default value for a struct.
Diffstat (limited to 'client')
-rw-r--r-- | client/srvtab.c | 9 | ||||
-rw-r--r-- | client/wallet.c | 4 |
2 files changed, 12 insertions, 1 deletions
diff --git a/client/srvtab.c b/client/srvtab.c index c0c5c40..5fd39dc 100644 --- a/client/srvtab.c +++ b/client/srvtab.c @@ -23,6 +23,15 @@ # define REALM_SZ 40 #endif +/* + * Disable the warning about a missing noreturn attribute, which may be + * triggered if the version of the Kerberos libraries doesn't contain + * krb5_524_conv_principal. + */ +#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2) || defined(__clang__) +# pragma GCC diagnostic ignored "-Wmissing-noreturn" +#endif + /* * Given the Kerberos context, srvtab file name, a Kerberos principal (as a diff --git a/client/wallet.c b/client/wallet.c index 194f1f5..435f000 100644 --- a/client/wallet.c +++ b/client/wallet.c @@ -2,7 +2,7 @@ * The client program for the wallet system. * * Written by Russ Allbery <eagle@eyrie.org> - * Copyright 2018 Russ Allbery <eagle@eyrie.org> + * Copyright 2018, 2020 Russ Allbery <eagle@eyrie.org> * Copyright 2006-2008, 2010, 2014 * The Board of Trustees of the Leland Stanford Junior University * @@ -14,6 +14,7 @@ #include <portable/system.h> #include <portable/uio.h> +#include <assert.h> #include <errno.h> #include <remctl.h> @@ -181,6 +182,7 @@ main(int argc, char *argv[]) count++; } command = xcalloc(count, sizeof(struct iovec)); + assert(options.type != NULL); command[0].iov_base = (char *) options.type; command[0].iov_len = strlen(options.type); for (i = 0; i < argc; i++) { |