summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Johnston <matt@ucc.asn.au>2013-11-25 23:08:33 +0800
committerMatt Johnston <matt@ucc.asn.au>2013-11-25 23:08:33 +0800
commit1e01212e44469024ee4daeb1ae9a4895cb598eff (patch)
tree1b914150333df80e871346a60549b99e2a7b23d2
parentef57908df336291e75706f3d70e403f663085025 (diff)
downloaddropbear-1e01212e44469024ee4daeb1ae9a4895cb598eff.tar.gz
Fix some warnings
-rw-r--r--cli-agentfwd.c2
-rw-r--r--configure.ac2
-rw-r--r--dbutil.c9
-rw-r--r--ecc.c4
-rw-r--r--signkey.c3
5 files changed, 11 insertions, 9 deletions
diff --git a/cli-agentfwd.c b/cli-agentfwd.c
index f166121..4ec555b 100644
--- a/cli-agentfwd.c
+++ b/cli-agentfwd.c
@@ -201,7 +201,7 @@ static void agent_get_key_list(m_list * ret_list)
num = buf_getint(inbuf);
for (i = 0; i < num; i++) {
sign_key * pubkey = NULL;
- int key_type = DROPBEAR_SIGNKEY_ANY;
+ enum signkey_type key_type = DROPBEAR_SIGNKEY_ANY;
buffer * key_buf;
/* each public key is encoded as a string */
diff --git a/configure.ac b/configure.ac
index 097fb0e..a24e87a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -21,7 +21,7 @@ AC_SUBST(LD)
if test -z "$OLDCFLAGS" && test "$GCC" = "yes"; then
AC_MSG_NOTICE(No \$CFLAGS set... using "-Os -W -Wall" for GCC)
- CFLAGS="-Os -W -Wall"
+ CFLAGS="-Os -W -Wall -Wno-pointer-sign"
fi
# large file support is useful for scp
diff --git a/dbutil.c b/dbutil.c
index b194e3d..ce88731 100644
--- a/dbutil.c
+++ b/dbutil.c
@@ -881,14 +881,17 @@ void disallow_core() {
/* Returns DROPBEAR_SUCCESS or DROPBEAR_FAILURE, with the result in *val */
int m_str_to_uint(const char* str, unsigned int *val) {
+ unsigned long l;
errno = 0;
- *val = strtoul(str, NULL, 10);
+ l = strtoul(str, NULL, 10);
/* The c99 spec doesn't actually seem to define EINVAL, but most platforms
* I've looked at mention it in their manpage */
- if ((*val == 0 && errno == EINVAL)
- || (*val == ULONG_MAX && errno == ERANGE)) {
+ if ((l == 0 && errno == EINVAL)
+ || (l == ULONG_MAX && errno == ERANGE)
+ || (l > UINT_MAX)) {
return DROPBEAR_FAILURE;
} else {
+ *val = l;
return DROPBEAR_SUCCESS;
}
}
diff --git a/ecc.c b/ecc.c
index 4bfe51a..c733c9e 100644
--- a/ecc.c
+++ b/ecc.c
@@ -75,8 +75,8 @@ struct dropbear_ecc_curve* curve_for_dp(const ltc_ecc_set_type *dp) {
ecc_key * new_ecc_key(void) {
ecc_key *key = m_malloc(sizeof(*key));
- m_mp_alloc_init_multi(&key->pubkey.x, &key->pubkey.y,
- &key->pubkey.z, &key->k, NULL);
+ m_mp_alloc_init_multi((mp_int**)&key->pubkey.x, (mp_int**)&key->pubkey.y,
+ (mp_int**)&key->pubkey.z, (mp_int**)&key->k, NULL);
return key;
}
diff --git a/signkey.c b/signkey.c
index 8347371..4ac40cb 100644
--- a/signkey.c
+++ b/signkey.c
@@ -508,14 +508,13 @@ void buf_put_sign(buffer* buf, sign_key *key, enum signkey_type type,
* signature blob */
int buf_verify(buffer * buf, sign_key *key, buffer *data_buf) {
- unsigned int bloblen;
unsigned char * type_name = NULL;
unsigned int type_name_len = 0;
enum signkey_type type;
TRACE(("enter buf_verify"))
- bloblen = buf_getint(buf);
+ buf_getint(buf); /* blob length */
type_name = buf_getstring(buf, &type_name_len);
type = signkey_type_from_name(type_name, type_name_len);
m_free(type_name);