diff --git a/Makefile b/Makefile
index b86c214d76d73a4172ee281ae0e1418ad2d115ae..9c7000969656b8ef7b8e28a24224ab0bb4568bd5 100644
--- a/Makefile
+++ b/Makefile
@@ -237,7 +237,7 @@ ifeq ($(AST_DEVMODE),yes)
   _ASTCFLAGS+=$(AST_FORTIFY_SOURCE)
   _ASTCFLAGS+=-Wundef 
   _ASTCFLAGS+=-Wmissing-format-attribute
-  _ASTCFLAGS+=-Wformat=2
+  _ASTCFLAGS+=-Wformat=2 -Wno-format-security
 endif
 
 ifneq ($(findstring BSD,$(OSARCH)),)
diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c
index 9bc91024c6e26307b700955f4e899574a3dadc5f..98a8ab3eeb1627732422b9af922ec0fba7c82c2b 100644
--- a/channels/chan_dahdi.c
+++ b/channels/chan_dahdi.c
@@ -2526,7 +2526,7 @@ static void my_pri_fixup_chans(void *old_chan, void *new_chan)
 	old->dsp_features = 0;
 }
 
-static int sig_pri_tone_to_dahditone(enum analog_tone tone)
+static int sig_pri_tone_to_dahditone(enum sig_pri_tone tone)
 {
 	switch (tone) {
 	case SIG_PRI_TONE_RINGTONE:
diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c
index 8f9d5fb0b40e5254ccadc0f02bdf894ebf7e12fc..a85392eed4f7e411695137982f08822400ac0972 100644
--- a/channels/chan_misdn.c
+++ b/channels/chan_misdn.c
@@ -11081,7 +11081,7 @@ static int misdn_command_cc_deactivate(struct ast_channel *chan, struct misdn_co
 			error_str = misdn_no_response_from_network;
 		} else if (cc_record->reject_code != FacReject_None) {
 			error_str = misdn_to_str_reject_code(cc_record->reject_code);
-		} else if (cc_record->reject_code != FacError_None) {
+		} else if (cc_record->error_code != FacError_None) {
 			error_str = misdn_to_str_error_code(cc_record->error_code);
 		} else {
 			error_str = NULL;
diff --git a/channels/misdn/ie.c b/channels/misdn/ie.c
index 33596098d9ed7410a4a4c9f02d1f89e0fcfc92e8..818a2f279dc26ae3988183ba6f9e2cc98669b9bc 100644
--- a/channels/misdn/ie.c
+++ b/channels/misdn/ie.c
@@ -247,7 +247,7 @@ static void dec_ie_bearer(unsigned char *p, Q931_info_t *qi, int *coding, int *c
 		if (p[0] <= octet)
 			goto done;
 
-		if (!p[octet++] & 0x80)
+		if (~p[octet++] & 0x80)
 			goto l2;
 
 		/* Wheee. V.110 speed information */
diff --git a/main/Makefile b/main/Makefile
index 227c4fd895058f9bd35f767c190491de7436ca4e..ec8790de694650d93037d40653786a8ae4392697 100644
--- a/main/Makefile
+++ b/main/Makefile
@@ -98,7 +98,7 @@ editline/libedit.a: CHECK_SUBDIR
 	$(MAKE) -C editline libedit.a
 
 db1-ast/libdb1.a: CHECK_SUBDIR
-	CFLAGS="$(subst $(ASTTOPDIR),../../,$(_ASTCFLAGS) $(ASTCFLAGS))" LDFLAGS="$(ASTLDFLAGS)" $(MAKE) -C db1-ast libdb1.a
+	_ASTCFLAGS="$(_ASTCFLAGS)" ASTCFLAGS="$(ASTCFLAGS) -Wno-strict-aliasing" $(MAKE) -C db1-ast libdb1.a
 
 ast_expr2.c ast_expr2.h:
 	bison -o $@ -d --name-prefix=ast_yy ast_expr2.y
diff --git a/pbx/pbx_config.c b/pbx/pbx_config.c
index cb89fd7d4b1de1a23bfd9153cde02504e7ac0014..990c4db97d04f2ede8306749ff77dcd5ceb5f650 100644
--- a/pbx/pbx_config.c
+++ b/pbx/pbx_config.c
@@ -1440,7 +1440,7 @@ static int pbx_load_config(const char *config_file)
 					goto process_extension;
 				}
 			} else if (!strcasecmp(v->name, "exten")) {
-				int ipri = -2;
+				int ipri;
 				char *plus, *firstp;
 				char *pri, *appl, *data, *cidmatch;
 
@@ -1452,6 +1452,7 @@ static int pbx_load_config(const char *config_file)
 				pbx_substitute_variables_helper(NULL, ext, realext, sizeof(realext) - 1);
 				ast_copy_string(lastextension, realext, sizeof(lastextension));
 process_extension:
+				ipri = -2;
 				if ((cidmatch = strchr(realext, '/'))) {
 					*cidmatch++ = '\0';
 					ast_shrink_phone_number(cidmatch);
diff --git a/utils/frame.c b/utils/frame.c
index abc3a300053fdd808f4a81ea7f9e7d6b25c65bd4..2900cb06562391aa50eaa5e9374122a14170d7b9 100644
--- a/utils/frame.c
+++ b/utils/frame.c
@@ -744,7 +744,7 @@ void checknoargs( int argcount, char *args[])
 void parseargs( int argcount, char *args[], int fileswitch)
 {
    char *filename;
-   int tempint;
+   int tempint = 0;
 
    if ((fileswitch & 1) != 0)     /* If getting infile  */
      in = NULL;