diff options
-rw-r--r-- | src/gprs/gprs_sndcp_comp.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/gprs/gprs_sndcp_comp.c b/src/gprs/gprs_sndcp_comp.c index 60b15b92e..3e026032e 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 */ |