Don't call abort() directly, always use osmo_panic()

A loooong time ago, we introduced osmo_panic() as a wrapper around
abort().  The advantage is, that this wrapper can be overridden, and
that it will also work in embedded (bare iron) targets, where the
abort simply translates to an infinite loop.

Change-Id: I5a70eb65952cbc329bf96eacb428b07a9da32433
diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h
index cd22dfb..dd4461c 100644
--- a/include/osmocom/core/utils.h
+++ b/include/osmocom/core/utils.h
@@ -4,6 +4,7 @@
 
 #include <osmocom/core/backtrace.h>
 #include <osmocom/core/talloc.h>
+#include <osmocom/core/panic.h>
 
 /*! \defgroup utils General-purpose utility functions
  *  @{
@@ -77,9 +78,7 @@
  */
 #define OSMO_ASSERT(exp)    \
 	if (!(exp)) { \
-		fprintf(stderr, "Assert failed %s %s:%d\n", #exp, __BASE_FILE__, __LINE__); \
-		osmo_generate_backtrace(); \
-		abort(); \
+		osmo_panic("Assert failed %s %s:%d\n", #exp, __BASE_FILE__, __LINE__); \
 	}
 
 /*! duplicate a string using talloc and release its prior content (if any)
diff --git a/src/bitvec.c b/src/bitvec.c
index 884eb02..0f56e3e 100644
--- a/src/bitvec.c
+++ b/src/bitvec.c
@@ -44,6 +44,7 @@
 
 #include <osmocom/core/bits.h>
 #include <osmocom/core/bitvec.h>
+#include <osmocom/core/panic.h>
 
 #define BITNUM_FROM_COMP(byte, bit)	((byte*8)+bit)
 
@@ -530,7 +531,7 @@
 	case ONE: return '1';
 	case L: return 'L';
 	case H: return 'H';
-	default: abort();
+	default: osmo_panic("unexpected input in bit_value_to_char"); return 'X';
 	}
 }
 
diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c
index 080fc95..73f0234 100644
--- a/src/gsm/gsm0808_utils.c
+++ b/src/gsm/gsm0808_utils.c
@@ -155,7 +155,7 @@
 	/* See also 3GPP TS 48.008 3.2.2.103 Speech Codec List */
 	uint8_t header = 0;
 	uint8_t *old_tail;
-	bool type_extended;
+	bool type_extended = false;
 
 	/* Note: Extended codec types are codec types that require 8 instead
 	 * of 4 bit to fully specify the selected codec. In the following,