From 3dfe8a1705528a964b7328db9cc9eb29d30ec2cc Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Wed, 7 Nov 2012 11:36:58 +0100 Subject: [PATCH] nat: sizeof char * != sizeof char[], make the code work on 64bit systems The test cases were failing on 64bit systems because the sizeof code operated on the pointer size which is 8 and longer than the size that was intended to be used for comparing it. --- debian/changelog | 6 ++++++ openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c | 12 ++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/debian/changelog b/debian/changelog index 101e2c4e5..608867dbf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +openbsc (0.12.0+git26-7) unstable; urgency=low + + * 64bit fix for the MGCP rewriting + + -- Holger Hans Peter Freyther Wed, 07 Nov 2012 11:39:34 +0100 + openbsc (0.12.0+git26-6) precise; urgency=low * Added init script for osmocom-sgsn. diff --git a/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c b/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c index d78dc91bc..e5384d1a7 100644 --- a/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c +++ b/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c @@ -557,13 +557,13 @@ static void patch_mgcp(struct msgb *output, const char *op, const char *tok, /* we need to replace some strings... */ struct msgb *bsc_mgcp_rewrite(char *input, int length, int endpoint, const char *ip, int port) { - static const char *crcx_str = "CRCX "; - static const char *dlcx_str = "DLCX "; - static const char *mdcx_str = "MDCX "; + static const char crcx_str[] = "CRCX "; + static const char dlcx_str[] = "DLCX "; + static const char mdcx_str[] = "MDCX "; - static const char *ip_str = "c=IN IP4 "; - static const char *aud_str = "m=audio "; - static const char *fmt_str = "a=fmtp: "; + static const char ip_str[] = "c=IN IP4 "; + static const char aud_str[] = "m=audio "; + static const char fmt_str[] = "a=fmtp:"; char buf[128]; char *running, *token;