aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gprs/gprs_sndcp_comp.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/gprs/gprs_sndcp_comp.c b/src/gprs/gprs_sndcp_comp.c
index 60b15b92..3e026032 100644
--- a/src/gprs/gprs_sndcp_comp.c
+++ b/src/gprs/gprs_sndcp_comp.c
@@ -92,19 +92,20 @@ static struct gprs_sndcp_comp *gprs_sndcp_comp_create(const void *ctx,
* (Protocol or Data compresson ?) */
comp_entity->compclass = gprs_sndcp_get_compression_class(comp_field);
- OSMO_ASSERT(comp_entity->compclass != -1);
-
/* Create an algorithm specific compression context */
if (comp_entity->compclass == SNDCP_XID_PROTOCOL_COMPRESSION) {
if (gprs_sndcp_pcomp_init(ctx, comp_entity, comp_field) != 0) {
talloc_free(comp_entity);
comp_entity = NULL;
}
- } else {
+ } else if (comp_entity->compclass == SNDCP_XID_DATA_COMPRESSION) {
if (gprs_sndcp_dcomp_init(ctx, comp_entity, comp_field) != 0) {
talloc_free(comp_entity);
comp_entity = NULL;
}
+ } else {
+ /* comp_field is somehow invalid */
+ OSMO_ASSERT(false);
}
/* Bail on failure */