osmo-msc[master]: Wrap osmo_strlcpy() calls

2018-02-05 Thread Harald Welte

Patch Set 2: Code-Review+2

-- 
To view, visit https://gerrit.osmocom.org/6198
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I67b482dedfa11237ac21894fc5930039e12434ab
Gerrit-PatchSet: 2
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-HasComments: No


[PATCH] osmo-msc[master]: Wrap osmo_strlcpy() calls

2018-02-05 Thread Max
Hello Jenkins Builder,

I'd like you to reexamine a change.  Please visit

https://gerrit.osmocom.org/6198

to look at the new patch set (#2).

Wrap osmo_strlcpy() calls

Using following semantic patch:
@@ expression A, B, C; @@
- osmo_strlcpy(A, B, sizeof(A));
+ OSMO_STRLCPY_ARRAY(A, B);

Which was applied using following command:
spatch --dir src -I src --sp-file strlcpy.spatch --in-place --recursive-includes

All the calls to osmo_strlcpy() which use destination buffer obtained
via sizeof() were replaced with the corresponding wrapper macro.

Change-Id: I67b482dedfa11237ac21894fc5930039e12434ab
Related: OS#2864
---
M src/libcommon/gsup_test_client.c
M src/libmsc/db.c
M src/libmsc/gsm_04_08.c
M src/libmsc/gsm_04_11.c
M src/libmsc/smpp_openbsc.c
M src/libmsc/sms_queue.c
M src/libvlr/vlr.c
7 files changed, 34 insertions(+), 36 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/98/6198/2

diff --git a/src/libcommon/gsup_test_client.c b/src/libcommon/gsup_test_client.c
index 8605040..be8e768 100644
--- a/src/libcommon/gsup_test_client.c
+++ b/src/libcommon/gsup_test_client.c
@@ -75,7 +75,7 @@
return NULL;
 
io = talloc_zero(ctx, struct imsi_op);
-   osmo_strlcpy(io->imsi, imsi, sizeof(io->imsi));
+   OSMO_STRLCPY_ARRAY(io->imsi, imsi);
io->type = type;
osmo_timer_setup(&io->timer, imsi_op_timer_cb, io);
llist_add(&io->list, &g_imsi_ops);
@@ -107,7 +107,7 @@
struct osmo_gsup_message gsup = {0};
struct msgb *msg = msgb_alloc_headroom(1200, 200, __func__);
 
-   osmo_strlcpy(gsup.imsi, io->imsi, sizeof(gsup.imsi));
+   OSMO_STRLCPY_ARRAY(gsup.imsi, io->imsi);
gsup.message_type = OSMO_GSUP_MSGT_SEND_AUTH_INFO_REQUEST;
 
osmo_gsup_encode(msg, &gsup);
@@ -122,7 +122,7 @@
struct osmo_gsup_message gsup = {0};
struct msgb *msg = msgb_alloc_headroom(1200, 200, __func__);
 
-   osmo_strlcpy(gsup.imsi, io->imsi, sizeof(gsup.imsi));
+   OSMO_STRLCPY_ARRAY(gsup.imsi, io->imsi);
gsup.message_type = OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST;
 
osmo_gsup_encode(msg, &gsup);
@@ -135,7 +135,7 @@
struct osmo_gsup_message gsup = {0};
struct msgb *msg = msgb_alloc_headroom(1200, 200, __func__);
 
-   osmo_strlcpy(gsup.imsi, io->imsi, sizeof(gsup.imsi));
+   OSMO_STRLCPY_ARRAY(gsup.imsi, io->imsi);
gsup.message_type = OSMO_GSUP_MSGT_INSERT_DATA_RESULT;
 
osmo_gsup_encode(msg, &gsup);
diff --git a/src/libmsc/db.c b/src/libmsc/db.c
index db9989d..d06db10 100644
--- a/src/libmsc/db.c
+++ b/src/libmsc/db.c
@@ -258,7 +258,7 @@
free(quoted);
extension = dbi_result_get_string(result2, "extension");
if (extension)
-   osmo_strlcpy(sms->src.addr, extension, sizeof(sms->src.addr));
+   OSMO_STRLCPY_ARRAY(sms->src.addr, extension);
dbi_result_free(result2);
/* got the extension */
 
@@ -271,7 +271,7 @@
 
daddr = dbi_result_get_string(result, "dest_addr");
if (daddr)
-   osmo_strlcpy(sms->dst.addr, daddr, sizeof(sms->dst.addr));
+   OSMO_STRLCPY_ARRAY(sms->dst.addr, daddr);
 
sms->user_data_len = dbi_result_get_field_length(result, "user_data");
user_data = dbi_result_get_binary(result, "user_data");
@@ -281,7 +281,7 @@
 
text = dbi_result_get_string(result, "text");
if (text)
-   osmo_strlcpy(sms->text, text, sizeof(sms->text));
+   OSMO_STRLCPY_ARRAY(sms->text, text);
return sms;
 }
 
@@ -410,12 +410,12 @@
  "data_coding_scheme");
 
addr = dbi_result_get_string(result, "src_addr");
-   osmo_strlcpy(sms->src.addr, addr, sizeof(sms->src.addr));
+   OSMO_STRLCPY_ARRAY(sms->src.addr, addr);
sms->src.ton = dbi_result_get_ulonglong(result, "src_ton");
sms->src.npi = dbi_result_get_ulonglong(result, "src_npi");
 
addr = dbi_result_get_string(result, "dest_addr");
-   osmo_strlcpy(sms->dst.addr, addr, sizeof(sms->dst.addr));
+   OSMO_STRLCPY_ARRAY(sms->dst.addr, addr);
sms->dst.ton = dbi_result_get_ulonglong(result, "dest_ton");
sms->dst.npi = dbi_result_get_ulonglong(result, "dest_npi");
 
@@ -427,7 +427,7 @@
 
text = dbi_result_get_string(result, "text");
if (text)
-   osmo_strlcpy(sms->text, text, sizeof(sms->text));
+   OSMO_STRLCPY_ARRAY(sms->text, text);
return sms;
 }
 
@@ -766,14 +766,14 @@
sms->dst.ton = dbi_result_get_ulonglong(result, "dest_ton");
daddr = dbi_result_get_string(result, "dest_addr");
if (daddr)
-   osmo_strlcpy(sms->dst.addr, daddr, sizeof(sms->dst.addr));
+   OSMO_STRLCPY_ARRAY(sms->dst.addr, daddr);
sms->receiver = vlr_subscr_find_by_msisdn(net->vlr, sms->dst.addr);
 
sms->src.npi = dbi_result_get_ulonglong(result, "src_npi");

[MERGED] osmo-msc[master]: Wrap osmo_strlcpy() calls

2018-02-05 Thread Harald Welte
Harald Welte has submitted this change and it was merged.

Change subject: Wrap osmo_strlcpy() calls
..


Wrap osmo_strlcpy() calls

Using following semantic patch:
@@ expression A, B, C; @@
- osmo_strlcpy(A, B, sizeof(A));
+ OSMO_STRLCPY_ARRAY(A, B);

Which was applied using following command:
spatch --dir src -I src --sp-file strlcpy.spatch --in-place --recursive-includes

All the calls to osmo_strlcpy() which use destination buffer obtained
via sizeof() were replaced with the corresponding wrapper macro.

Change-Id: I67b482dedfa11237ac21894fc5930039e12434ab
Related: OS#2864
---
M src/libcommon/gsup_test_client.c
M src/libmsc/db.c
M src/libmsc/gsm_04_08.c
M src/libmsc/gsm_04_11.c
M src/libmsc/smpp_openbsc.c
M src/libmsc/sms_queue.c
M src/libvlr/vlr.c
7 files changed, 34 insertions(+), 36 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/libcommon/gsup_test_client.c b/src/libcommon/gsup_test_client.c
index 8605040..be8e768 100644
--- a/src/libcommon/gsup_test_client.c
+++ b/src/libcommon/gsup_test_client.c
@@ -75,7 +75,7 @@
return NULL;
 
io = talloc_zero(ctx, struct imsi_op);
-   osmo_strlcpy(io->imsi, imsi, sizeof(io->imsi));
+   OSMO_STRLCPY_ARRAY(io->imsi, imsi);
io->type = type;
osmo_timer_setup(&io->timer, imsi_op_timer_cb, io);
llist_add(&io->list, &g_imsi_ops);
@@ -107,7 +107,7 @@
struct osmo_gsup_message gsup = {0};
struct msgb *msg = msgb_alloc_headroom(1200, 200, __func__);
 
-   osmo_strlcpy(gsup.imsi, io->imsi, sizeof(gsup.imsi));
+   OSMO_STRLCPY_ARRAY(gsup.imsi, io->imsi);
gsup.message_type = OSMO_GSUP_MSGT_SEND_AUTH_INFO_REQUEST;
 
osmo_gsup_encode(msg, &gsup);
@@ -122,7 +122,7 @@
struct osmo_gsup_message gsup = {0};
struct msgb *msg = msgb_alloc_headroom(1200, 200, __func__);
 
-   osmo_strlcpy(gsup.imsi, io->imsi, sizeof(gsup.imsi));
+   OSMO_STRLCPY_ARRAY(gsup.imsi, io->imsi);
gsup.message_type = OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST;
 
osmo_gsup_encode(msg, &gsup);
@@ -135,7 +135,7 @@
struct osmo_gsup_message gsup = {0};
struct msgb *msg = msgb_alloc_headroom(1200, 200, __func__);
 
-   osmo_strlcpy(gsup.imsi, io->imsi, sizeof(gsup.imsi));
+   OSMO_STRLCPY_ARRAY(gsup.imsi, io->imsi);
gsup.message_type = OSMO_GSUP_MSGT_INSERT_DATA_RESULT;
 
osmo_gsup_encode(msg, &gsup);
diff --git a/src/libmsc/db.c b/src/libmsc/db.c
index db9989d..d06db10 100644
--- a/src/libmsc/db.c
+++ b/src/libmsc/db.c
@@ -258,7 +258,7 @@
free(quoted);
extension = dbi_result_get_string(result2, "extension");
if (extension)
-   osmo_strlcpy(sms->src.addr, extension, sizeof(sms->src.addr));
+   OSMO_STRLCPY_ARRAY(sms->src.addr, extension);
dbi_result_free(result2);
/* got the extension */
 
@@ -271,7 +271,7 @@
 
daddr = dbi_result_get_string(result, "dest_addr");
if (daddr)
-   osmo_strlcpy(sms->dst.addr, daddr, sizeof(sms->dst.addr));
+   OSMO_STRLCPY_ARRAY(sms->dst.addr, daddr);
 
sms->user_data_len = dbi_result_get_field_length(result, "user_data");
user_data = dbi_result_get_binary(result, "user_data");
@@ -281,7 +281,7 @@
 
text = dbi_result_get_string(result, "text");
if (text)
-   osmo_strlcpy(sms->text, text, sizeof(sms->text));
+   OSMO_STRLCPY_ARRAY(sms->text, text);
return sms;
 }
 
@@ -410,12 +410,12 @@
  "data_coding_scheme");
 
addr = dbi_result_get_string(result, "src_addr");
-   osmo_strlcpy(sms->src.addr, addr, sizeof(sms->src.addr));
+   OSMO_STRLCPY_ARRAY(sms->src.addr, addr);
sms->src.ton = dbi_result_get_ulonglong(result, "src_ton");
sms->src.npi = dbi_result_get_ulonglong(result, "src_npi");
 
addr = dbi_result_get_string(result, "dest_addr");
-   osmo_strlcpy(sms->dst.addr, addr, sizeof(sms->dst.addr));
+   OSMO_STRLCPY_ARRAY(sms->dst.addr, addr);
sms->dst.ton = dbi_result_get_ulonglong(result, "dest_ton");
sms->dst.npi = dbi_result_get_ulonglong(result, "dest_npi");
 
@@ -427,7 +427,7 @@
 
text = dbi_result_get_string(result, "text");
if (text)
-   osmo_strlcpy(sms->text, text, sizeof(sms->text));
+   OSMO_STRLCPY_ARRAY(sms->text, text);
return sms;
 }
 
@@ -766,14 +766,14 @@
sms->dst.ton = dbi_result_get_ulonglong(result, "dest_ton");
daddr = dbi_result_get_string(result, "dest_addr");
if (daddr)
-   osmo_strlcpy(sms->dst.addr, daddr, sizeof(sms->dst.addr));
+   OSMO_STRLCPY_ARRAY(sms->dst.addr, daddr);
sms->receiver = vlr_subscr_find_by_msisdn(net->vlr, sms->dst.addr);
 
sms->src.npi = dbi_result_get_ulo