|
|
d4b2f2 |
From 753d98b3e70f34a52caabbe8db30bf06fc917f38 Mon Sep 17 00:00:00 2001
|
|
|
d4b2f2 |
From: Rob Crittenden <rcritten@redhat.com>
|
|
|
d4b2f2 |
Date: Thu, 13 Sep 2018 11:46:51 -0400
|
|
|
d4b2f2 |
Subject: [PATCH 14/17] clang: Null pointer passed as an argument to a
|
|
|
d4b2f2 |
'nonnull' parameter
|
|
|
d4b2f2 |
|
|
|
d4b2f2 |
---
|
|
|
d4b2f2 |
src/certsave-n.c | 3 ++-
|
|
|
d4b2f2 |
src/getcert.c | 7 ++++---
|
|
|
d4b2f2 |
src/scep.c | 8 ++++----
|
|
|
d4b2f2 |
src/submit-sn.c | 7 +++++--
|
|
|
d4b2f2 |
4 files changed, 15 insertions(+), 10 deletions(-)
|
|
|
d4b2f2 |
|
|
|
d4b2f2 |
diff --git a/src/certsave-n.c b/src/certsave-n.c
|
|
|
d4b2f2 |
index 49b28324..972a1dfa 100644
|
|
|
d4b2f2 |
--- a/src/certsave-n.c
|
|
|
d4b2f2 |
+++ b/src/certsave-n.c
|
|
|
d4b2f2 |
@@ -72,7 +72,8 @@ add_privkey_to_list(SECKEYPrivateKey **list, SECKEYPrivateKey *key)
|
|
|
d4b2f2 |
if ((list == NULL) || (list[i] == NULL)) {
|
|
|
d4b2f2 |
newlist = malloc(sizeof(newlist[0]) * (i + 2));
|
|
|
d4b2f2 |
if (newlist != NULL) {
|
|
|
d4b2f2 |
- memcpy(newlist, list, sizeof(newlist[0]) * i);
|
|
|
d4b2f2 |
+ if (list != NULL)
|
|
|
d4b2f2 |
+ memcpy(newlist, list, sizeof(newlist[0]) * i);
|
|
|
d4b2f2 |
newlist[i] = key;
|
|
|
d4b2f2 |
newlist[i + 1] = NULL;
|
|
|
d4b2f2 |
list = newlist;
|
|
|
d4b2f2 |
diff --git a/src/getcert.c b/src/getcert.c
|
|
|
d4b2f2 |
index 6417cd44..ddb28de2 100644
|
|
|
d4b2f2 |
--- a/src/getcert.c
|
|
|
d4b2f2 |
+++ b/src/getcert.c
|
|
|
d4b2f2 |
@@ -291,7 +291,8 @@ add_string(void *parent, char ***dest, const char *value)
|
|
|
d4b2f2 |
printf(_("Out of memory.\n"));
|
|
|
d4b2f2 |
exit(1);
|
|
|
d4b2f2 |
}
|
|
|
d4b2f2 |
- memcpy(tmp, *dest, sizeof(tmp[0]) * i);
|
|
|
d4b2f2 |
+ if (*dest)
|
|
|
d4b2f2 |
+ memcpy(tmp, *dest, sizeof(tmp[0]) * i);
|
|
|
d4b2f2 |
tmp[i] = talloc_strdup(tmp, value);
|
|
|
d4b2f2 |
i++;
|
|
|
d4b2f2 |
tmp[i] = NULL;
|
|
|
d4b2f2 |
@@ -1582,8 +1583,8 @@ add_basic_request(enum cm_tdbus_type bus, char *id,
|
|
|
d4b2f2 |
{
|
|
|
d4b2f2 |
DBusMessage *req, *rep;
|
|
|
d4b2f2 |
int i;
|
|
|
d4b2f2 |
- struct cm_tdbusm_dict param[28];
|
|
|
d4b2f2 |
- const struct cm_tdbusm_dict *params[29];
|
|
|
d4b2f2 |
+ struct cm_tdbusm_dict param[30];
|
|
|
d4b2f2 |
+ const struct cm_tdbusm_dict *params[30];
|
|
|
d4b2f2 |
dbus_bool_t b;
|
|
|
d4b2f2 |
const char *capath;
|
|
|
d4b2f2 |
char *p;
|
|
|
d4b2f2 |
diff --git a/src/scep.c b/src/scep.c
|
|
|
d4b2f2 |
index 68eae788..b0bd214b 100644
|
|
|
d4b2f2 |
--- a/src/scep.c
|
|
|
d4b2f2 |
+++ b/src/scep.c
|
|
|
d4b2f2 |
@@ -793,8 +793,8 @@ main(int argc, const char **argv)
|
|
|
d4b2f2 |
fprintf(stderr, "code_text = \"%s\"\n", cm_submit_h_result_code_text(hctx));
|
|
|
d4b2f2 |
syslog(LOG_DEBUG, "%s %s?%s\n", "GET", url, params2);
|
|
|
d4b2f2 |
}
|
|
|
d4b2f2 |
- if (strcasecmp(content_type2,
|
|
|
d4b2f2 |
- "application/x-x509-ca-cert") != 0) {
|
|
|
d4b2f2 |
+ if ((content_type2 != NULL) && (strcasecmp(content_type2,
|
|
|
d4b2f2 |
+ "application/x-x509-ca-cert") != 0)) {
|
|
|
d4b2f2 |
if (verbose > 0) {
|
|
|
d4b2f2 |
fprintf(stderr, "Content is not "
|
|
|
d4b2f2 |
"\"application/x-x509-ca-cert\""
|
|
|
d4b2f2 |
@@ -882,8 +882,8 @@ main(int argc, const char **argv)
|
|
|
d4b2f2 |
break;
|
|
|
d4b2f2 |
case op_get_cert_initial:
|
|
|
d4b2f2 |
case op_pkcsreq:
|
|
|
d4b2f2 |
- if (strcasecmp(content_type2,
|
|
|
d4b2f2 |
- "application/x-pki-message") == 0) {
|
|
|
d4b2f2 |
+ if ((content_type2 != NULL) && (strcasecmp(content_type2,
|
|
|
d4b2f2 |
+ "application/x-pki-message") == 0)) {
|
|
|
d4b2f2 |
memset(&cacerts, 0, sizeof(cacerts));
|
|
|
d4b2f2 |
cacerts[0] = cacert ? cacert : racert;
|
|
|
d4b2f2 |
cacerts[1] = cacert ? racert : NULL;
|
|
|
d4b2f2 |
diff --git a/src/submit-sn.c b/src/submit-sn.c
|
|
|
d4b2f2 |
index e9c62b22..ecd78dc0 100644
|
|
|
d4b2f2 |
--- a/src/submit-sn.c
|
|
|
d4b2f2 |
+++ b/src/submit-sn.c
|
|
|
d4b2f2 |
@@ -258,8 +258,11 @@ cm_submit_sn_main(int fd, struct cm_store_ca *ca, struct cm_store_entry *entry,
|
|
|
d4b2f2 |
/* Allocate space for one more extension. */
|
|
|
d4b2f2 |
extensions = PORT_ArenaZAlloc(arena, (i + 2) * sizeof(extensions[0]));
|
|
|
d4b2f2 |
if (extensions != NULL) {
|
|
|
d4b2f2 |
- memcpy(extensions, ucert->extensions,
|
|
|
d4b2f2 |
- i * sizeof(extensions[0]));
|
|
|
d4b2f2 |
+ if (i != 0) {
|
|
|
d4b2f2 |
+ /* Note that C99 says copy of 0 items is ok, quieting clang */
|
|
|
d4b2f2 |
+ memcpy(extensions, ucert->extensions,
|
|
|
d4b2f2 |
+ i * sizeof(extensions[0]));
|
|
|
d4b2f2 |
+ }
|
|
|
d4b2f2 |
if (found_basic) {
|
|
|
d4b2f2 |
extensions[i] = NULL;
|
|
|
d4b2f2 |
} else {
|
|
|
d4b2f2 |
--
|
|
|
d4b2f2 |
2.14.4
|
|
|
d4b2f2 |
|