aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2019-05-30 17:29:09 +0200
committerHarald Welte <laforge@gnumonks.org>2019-06-04 08:43:03 +0000
commit5560001af54dc500cf0dea0115117dd1837db933 (patch)
treeaa4e61ece6527d6da445e3570f11f45d8c8ca63d
parenta469a90d5e8c65a6afb9bafbc60d3e1e529f6ad7 (diff)
ggsn: Fix undefined behaviour shifting beyond sign bit
Fixes following ASan complaint during VTY "show running-config": osmo-ggsn/ggsn/ggsn_vty.c:657:37: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' Change-Id: I2b8d163dbc108b0fb5a1e820dc23181835d12869
-rw-r--r--ggsn/ggsn_vty.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ggsn/ggsn_vty.c b/ggsn/ggsn_vty.c
index 3f012d2..9101361 100644
--- a/ggsn/ggsn_vty.c
+++ b/ggsn/ggsn_vty.c
@@ -654,9 +654,9 @@ static void config_write_apn(struct vty *vty, struct apn_ctx *apn)
vty_out(vty, " ipdown-script %s%s", apn->tun.cfg.ipdown_script, VTY_NEWLINE);
for (i = 0; i < 32; i++) {
- if (!(apn->cfg.apn_type_mask & (1 << i)))
+ if (!(apn->cfg.apn_type_mask & (UINT32_C(1) << i)))
continue;
- vty_out(vty, " type-support %s%s", get_value_string(pdp_type_names, (1 << i)),
+ vty_out(vty, " type-support %s%s", get_value_string(pdp_type_names, (UINT32_C(1) << i)),
VTY_NEWLINE);
}