@@ -5,9 +5,6 @@
constParameterPointer
invalidPrintfArgType_sint
invalidPrintfArgType_uint
-redundantAssignment
-redundantInitialization
-unreadVariable
unusedFunction
usleepCalled
variableScope
@@ -74,7 +71,7 @@
# IGN: strlen(NULL) is not nice code, but seems to work
nullPointerRedundantCheck:src/openvpn/init.c:301
# FP: cppcheck doesn't understand ZeroMemory
-redundantAssignment:src/openvpnserv/interactive.c:203
+redundantAssignment:src/openvpnserv/interactive.c:204
# IGN: We reuse the same variable name due to macro usage
shadowVariable:src/openvpn/options.c:1948
shadowVariable:src/openvpn/options.c:1966
@@ -192,7 +192,6 @@
static bool
get_console_input(const char *prompt, const bool echo, char *input, const int capacity)
{
- bool ret = false;
ASSERT(prompt);
ASSERT(input);
ASSERT(capacity > 0);
@@ -200,8 +199,11 @@
#if defined(_WIN32)
return get_console_input_win32(prompt, echo, input, capacity);
-#elif defined(HAVE_TERMIOS_H)
+#elif !defined(HAVE_TERMIOS_H)
+ msg(M_FATAL, "Sorry, but I can't get console input on this OS (%s)", prompt);
+#else
bool restore_tty = false;
+ bool ret = false;
struct termios tty_tmp, tty_save;
/* did we --daemon'ize before asking for passwords?
@@ -258,10 +260,8 @@
}
close_tty(fp);
-#else /* if defined(_WIN32) */
- msg(M_FATAL, "Sorry, but I can't get console input on this OS (%s)", prompt);
-#endif /* if defined(_WIN32) */
return ret;
+#endif /* if defined(_WIN32) */
}
/**
@@ -1204,8 +1204,6 @@
struct buffer work = alloc_buf_gc(BUF_SIZE(frame), &gc);
struct buffer encrypt_workspace = alloc_buf_gc(BUF_SIZE(frame), &gc);
struct buffer decrypt_workspace = alloc_buf_gc(BUF_SIZE(frame), &gc);
- struct buffer buf = clear_buf();
- void *buf_p;
/* init work */
ASSERT(buf_init(&work, frame->buf.headroom));
@@ -1242,8 +1240,8 @@
prng_bytes(BPTR(&src), BLEN(&src));
/* copy source to input buf */
- buf = work;
- buf_p = buf_write_alloc(&buf, BLENZ(&src));
+ struct buffer buf = work;
+ void *buf_p = buf_write_alloc(&buf, BLENZ(&src));
ASSERT(buf_p);
memcpy(buf_p, BPTR(&src), BLENZ(&src));
@@ -408,8 +408,8 @@
openvpn_errno_maybe_crt(bool *crt_error)
{
int err = 0;
- *crt_error = false;
#ifdef _WIN32
+ *crt_error = false;
err = GetLastError();
if (err == ERROR_SUCCESS)
{
@@ -1746,7 +1746,6 @@
process_outgoing_link(struct context *c, struct link_socket *sock)
{
struct gc_arena gc = gc_new();
- int error_code = 0;
if (c->c2.to_link.len > 0 && c->c2.to_link.len <= c->c2.frame.buf.payload_size)
{
@@ -1821,7 +1820,7 @@
}
/* Check return status */
- error_code = openvpn_errno();
+ int error_code = openvpn_errno();
check_status(size, "write", sock, NULL);
if (size > 0)
@@ -916,10 +916,9 @@
static void
man_remote_entry_count(struct management *man)
{
- unsigned count = 0;
if (man->persist.callback.remote_entry_count)
{
- count = (*man->persist.callback.remote_entry_count)(man->persist.callback.arg);
+ unsigned int count = (*man->persist.callback.remote_entry_count)(man->persist.callback.arg);
msg(M_CLIENT, "%u", count);
msg(M_CLIENT, "END");
}
@@ -3742,7 +3741,6 @@
struct gc_arena gc = gc_new();
int ret = 0;
volatile int signal_received = 0;
- struct buffer alert_msg = clear_buf();
const bool standalone_disabled_save = man->persist.standalone_disabled;
struct man_connection *mc = &man->connection;
@@ -3754,6 +3752,7 @@
*state = EKS_SOLICIT;
+ struct buffer alert_msg;
if (b64_data)
{
alert_msg = alloc_buf_gc(strlen(b64_data) + strlen(prompt) + 3, &gc);
@@ -4157,8 +4157,7 @@
bool
key_is_external(const struct options *options)
{
- bool ret = false;
- ret = ret || (options->management_flags & MF_EXTERNAL_KEY);
+ bool ret = options->management_flags & MF_EXTERNAL_KEY;
#ifdef ENABLE_PKCS11
ret = ret || (options->pkcs11_providers[0] != NULL);
#endif
@@ -5697,7 +5696,6 @@
if (streq(p[1], "FORWARD_COMPATIBLE") && p[2] && streq(p[2], "1"))
{
options->forward_compatible = true;
- msglevel_fc = msglevel_forward_compatible(options, msglevel);
}
setenv_str(es, p[1], p[2] ? p[2] : "");
}
@@ -80,6 +80,9 @@
static msglvl_t
_pkcs11_msg_pkcs112openvpn(const unsigned flags)
{
+#ifdef ENABLE_PKCS11_FORCE_DEBUG
+ return M_INFO;
+#else
msglvl_t openvpn_flags;
switch (flags)
@@ -109,16 +112,16 @@
break;
}
-#if defined(ENABLE_PKCS11_FORCE_DEBUG)
- openvpn_flags = M_INFO;
-#endif
-
return openvpn_flags;
+#endif
}
static unsigned
_pkcs11_msg_openvpn2pkcs11(const msglvl_t flags)
{
+#ifdef ENABLE_PKCS11_FORCE_DEBUG
+ return PKCS11H_LOG_DEBUG2;
+#else
unsigned pkcs11_flags;
if ((flags & D_PKCS11_DEBUG) != 0)
@@ -146,11 +149,8 @@
pkcs11_flags = PKCS11H_LOG_ERROR;
}
-#if defined(ENABLE_PKCS11_FORCE_DEBUG)
- pkcs11_flags = PKCS11H_LOG_DEBUG2;
-#endif
-
return pkcs11_flags;
+#endif
}
static void
@@ -384,7 +384,6 @@
if (certificate != NULL)
{
pkcs11h_certificate_freeCertificate(certificate);
- certificate = NULL;
}
/*
@@ -400,7 +399,6 @@
if (openssl_session != NULL)
{
pkcs11h_openssl_freeSession(openssl_session);
- openssl_session = NULL;
}
return ret;
#endif /* ifdef HAVE_XKEY_PROVIDER */
@@ -99,7 +99,6 @@
}
char *str = gc_strdup(s, gc);
- size_t i = 0;
while (*str)
{
@@ -112,11 +111,11 @@
/* if no commas were found go to fail, do not send any message */
return false;
}
+ /* copy from current position to (ci - 1) */
str[ci] = '\0';
- /* copy from i to (ci -1) */
struct buffer tmp = forge_msg(str, ",push-continuation 2", gc);
buffer_list_push(msgs, BSTR(&tmp));
- i = ci + 1;
+ str += ci + 1;
}
else
{
@@ -130,9 +129,8 @@
struct buffer tmp = forge_msg(str, NULL, gc);
buffer_list_push(msgs, BSTR(&tmp));
}
- i = strlen(str);
+ break;
}
- str = &str[i];
}
return true;
}
@@ -753,7 +753,7 @@
*/
socklen_t remote_len_af = af_addr_size(act->dest.addr.sa.sa_family);
socklen_t remote_len = sizeof(act->dest.addr);
- socket_descriptor_t new_sd = SOCKET_UNDEFINED;
+ socket_descriptor_t new_sd;
CLEAR(*act);
@@ -2283,13 +2283,13 @@
}
int typeid = EVP_PKEY_id(pkey);
+
+#ifndef OPENSSL_NO_EC
#if OPENSSL_VERSION_NUMBER < 0x30000000L
bool is_ec = typeid == EVP_PKEY_EC;
#else
bool is_ec = EVP_PKEY_is_a(pkey, "EC");
#endif
-
-#ifndef OPENSSL_NO_EC
char groupname[64];
if (is_ec)
{
@@ -2593,15 +2593,13 @@
"builtin EC curves. It does not list additional curves nor X448 or X25519\n");
#ifndef OPENSSL_NO_EC
EC_builtin_curve *curves = NULL;
- size_t crv_len = 0;
- size_t n = 0;
- crv_len = EC_get_builtin_curves(NULL, 0);
+ size_t crv_len = EC_get_builtin_curves(NULL, 0);
ALLOC_ARRAY(curves, EC_builtin_curve, crv_len);
if (EC_get_builtin_curves(curves, crv_len))
{
printf("\nAvailable Elliptic curves/groups:\n");
- for (n = 0; n < crv_len; n++)
+ for (size_t n = 0; n < crv_len; n++)
{
const char *sname;
sname = OBJ_nid2sn(curves[n].nid);
@@ -1340,9 +1340,6 @@
is_wow64_process2_t is_wow64_process2 =
(is_wow64_process2_t)GetProcAddress(GetModuleHandle("Kernel32.dll"), "IsWow64Process2");
- USHORT process_machine = 0;
- USHORT native_machine = 0;
-
#ifdef _ARM64_
*process_arch = ARCH_ARM64;
#elif defined(_WIN64)
@@ -1350,6 +1347,8 @@
if (is_wow64_process2)
{
/* this could be amd64 on arm64 */
+ USHORT process_machine = 0;
+ USHORT native_machine = 0;
BOOL is_wow64 = is_wow64_process2(GetCurrentProcess(), &process_machine, &native_machine);
if (is_wow64 && native_machine == IMAGE_FILE_MACHINE_ARM64)
{
@@ -1362,6 +1361,8 @@
if (is_wow64_process2)
{
/* check if we're running on arm64 or amd64 machine */
+ USHORT process_machine = 0;
+ USHORT native_machine = 0;
BOOL is_wow64 = is_wow64_process2(GetCurrentProcess(), &process_machine, &native_machine);
if (is_wow64)
{
@@ -711,7 +711,6 @@
uiResult = MsiViewFetch(hViewST, &hRecord);
if (uiResult == ERROR_NO_MORE_ITEMS)
{
- uiResult = ERROR_SUCCESS;
break;
}
else if (uiResult != ERROR_SUCCESS)
@@ -473,7 +473,7 @@
return ERROR_OUTOFMEMORY;
}
- dwCountExpResult = ExpandEnvironmentStrings(szValue, szValueExp, dwCountExp);
+ ExpandEnvironmentStrings(szValue, szValueExp, dwCountExp);
free(szValue);
*pszValue = szValueExp;
return ERROR_SUCCESS;
@@ -601,8 +601,6 @@
_In_ DWORD dwProperty, _Out_opt_ LPDWORD pdwPropertyRegDataType,
_Out_ LPVOID *ppData)
{
- DWORD dwResult = ERROR_BAD_ARGUMENTS;
-
if (ppData == NULL)
{
return ERROR_BAD_ARGUMENTS;
@@ -628,7 +626,7 @@
}
else
{
- dwResult = GetLastError();
+ DWORD dwResult = GetLastError();
if (dwResult == ERROR_INSUFFICIENT_BUFFER)
{
/* Allocate on heap and retry. */
@@ -217,7 +217,7 @@
#if !defined(HAVE_OPENSSL_STORE)
skip();
-#else /* HAVE_OPENSSL_STORE */
+#else /* HAVE_OPENSSL_STORE */
struct tls_root_ctx ctx = { 0 };
const char *certfile = global_state.certfile;
@@ -228,9 +228,10 @@
struct buffer keyuri = alloc_buf_gc(6 + strlen(keyfile) + 1, gc); /* 6 bytes for "file:/" */
/* Windows temp file path starts with drive letter -- add a leading slash for URI */
- const char *lead = "";
#ifdef _WIN32
- lead = "/";
+ const char *lead = "/";
+#else
+ const char *lead = "";
#endif /* _WIN32 */
assert_true(buf_printf(&certuri, "file:%s%s", lead, certfile));
assert_true(buf_printf(&keyuri, "file:%s%s", lead, keyfile));
@@ -292,8 +293,6 @@
struct buffer work = alloc_buf_gc(BUF_SIZE(&frame), &gc);
struct buffer encrypt_workspace = alloc_buf_gc(BUF_SIZE(&frame), &gc);
struct buffer decrypt_workspace = alloc_buf_gc(BUF_SIZE(&frame), &gc);
- struct buffer buf = clear_buf();
- void *buf_p;
/* init work */
ASSERT(buf_init(&work, frame.buf.headroom));
@@ -314,8 +313,8 @@
prng_bytes(BPTR(&src), BLEN(&src));
/* copy source to input buf */
- buf = work;
- buf_p = buf_write_alloc(&buf, BLENZ(&src));
+ struct buffer buf = work;
+ void *buf_p = buf_write_alloc(&buf, BLENZ(&src));
ASSERT(buf_p);
memcpy(buf_p, BPTR(&src), BLENZ(&src));
@@ -345,7 +344,6 @@
struct buffer encrypt_workspace = alloc_buf_gc(BUF_SIZE(&frame), &gc);
struct buffer decrypt_workspace = alloc_buf_gc(BUF_SIZE(&frame), &gc);
struct buffer work = alloc_buf_gc(BUF_SIZE(&frame), &gc);
- struct buffer buf = clear_buf();
struct buffer src = alloc_buf_gc(frame.buf.payload_size, &gc);
void *buf_p;
@@ -360,7 +358,7 @@
prng_bytes(BPTR(&src), BLEN(&src));
/* copy source to input buf */
- buf = work;
+ struct buffer buf = work;
buf_p = buf_write_alloc(&buf, BLENZ(&src));
ASSERT(buf_p);
memcpy(buf_p, BPTR(&src), BLENZ(&src));
@@ -641,7 +639,6 @@
struct buffer work = alloc_buf_gc(BUF_SIZE(&frame), &gc);
struct buffer encrypt_workspace = alloc_buf_gc(BUF_SIZE(&frame), &gc);
struct buffer decrypt_workspace = alloc_buf_gc(BUF_SIZE(&frame), &gc);
- struct buffer buf = clear_buf();
void *buf_p;
/* init work */
@@ -658,7 +655,7 @@
ASSERT(buf_write(&src, plaintext, strlen(plaintext)));
/* copy source to input buf */
- buf = work;
+ struct buffer buf = work;
buf_p = buf_write_alloc(&buf, BLENZ(&src));
ASSERT(buf_p);
memcpy(buf_p, BPTR(&src), BLENZ(&src));