From 6d6bacd5cbf255605bb463d4985c331db6cb89aa Mon Sep 17 00:00:00 2001 From: Terry Wilson Date: Thu, 19 Apr 2012 19:05:17 +0000 Subject: Convert some strncpys to ast_copy_string Review: https://reviewboard.asterisk.org/r/1732/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@362635 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/snmp/agent.c | 66 +++++++++++++++++++------------------------------------- 1 file changed, 22 insertions(+), 44 deletions(-) (limited to 'res/snmp') diff --git a/res/snmp/agent.c b/res/snmp/agent.c index 3cc630471..f36cbf66d 100644 --- a/res/snmp/agent.c +++ b/res/snmp/agent.c @@ -269,54 +269,47 @@ static u_char *ast_var_channels_table(struct variable *vp, oid *name, size_t *le break; case ASTCHANNAME: if (!ast_strlen_zero(ast_channel_name(chan))) { - strncpy(string_ret, ast_channel_name(chan), sizeof(string_ret)); - string_ret[sizeof(string_ret) - 1] = '\0'; + ast_copy_string(string_ret, ast_channel_name(chan), sizeof(string_ret)); *var_len = strlen(string_ret); ret = (u_char *)string_ret; } break; case ASTCHANLANGUAGE: if (!ast_strlen_zero(ast_channel_language(chan))) { - strncpy(string_ret, ast_channel_language(chan), sizeof(string_ret)); - string_ret[sizeof(string_ret) - 1] = '\0'; + ast_copy_string(string_ret, ast_channel_language(chan), sizeof(string_ret)); *var_len = strlen(string_ret); ret = (u_char *)string_ret; } break; case ASTCHANTYPE: - strncpy(string_ret, ast_channel_tech(chan)->type, sizeof(string_ret)); - string_ret[sizeof(string_ret) - 1] = '\0'; + ast_copy_string(string_ret, ast_channel_tech(chan)->type, sizeof(string_ret)); *var_len = strlen(string_ret); ret = (u_char *)string_ret; break; case ASTCHANMUSICCLASS: if (!ast_strlen_zero(ast_channel_musicclass(chan))) { - strncpy(string_ret, ast_channel_musicclass(chan), sizeof(string_ret)); - string_ret[sizeof(string_ret) - 1] = '\0'; + ast_copy_string(string_ret, ast_channel_musicclass(chan), sizeof(string_ret)); *var_len = strlen(string_ret); ret = (u_char *)string_ret; } break; case ASTCHANBRIDGE: if ((bridge = ast_bridged_channel(chan)) != NULL) { - strncpy(string_ret, ast_channel_name(bridge), sizeof(string_ret)); - string_ret[sizeof(string_ret) - 1] = '\0'; + ast_copy_string(string_ret, ast_channel_name(bridge), sizeof(string_ret)); *var_len = strlen(string_ret); ret = (u_char *)string_ret; } break; case ASTCHANMASQ: if (ast_channel_masq(chan) && !ast_strlen_zero(ast_channel_name(ast_channel_masq(chan)))) { - strncpy(string_ret, ast_channel_name(ast_channel_masq(chan)), sizeof(string_ret)); - string_ret[sizeof(string_ret) - 1] = '\0'; + ast_copy_string(string_ret, ast_channel_name(ast_channel_masq(chan)), sizeof(string_ret)); *var_len = strlen(string_ret); ret = (u_char *)string_ret; } break; case ASTCHANMASQR: if (ast_channel_masqr(chan) && !ast_strlen_zero(ast_channel_name(ast_channel_masqr(chan)))) { - strncpy(string_ret, ast_channel_name(ast_channel_masqr(chan)), sizeof(string_ret)); - string_ret[sizeof(string_ret) - 1] = '\0'; + ast_copy_string(string_ret, ast_channel_name(ast_channel_masqr(chan)), sizeof(string_ret)); *var_len = strlen(string_ret); ret = (u_char *)string_ret; } @@ -330,35 +323,30 @@ static u_char *ast_var_channels_table(struct variable *vp, oid *name, size_t *le break; case ASTCHANAPP: if (ast_channel_appl(chan)) { - strncpy(string_ret, ast_channel_appl(chan), sizeof(string_ret)); - string_ret[sizeof(string_ret) - 1] = '\0'; + ast_copy_string(string_ret, ast_channel_appl(chan), sizeof(string_ret)); *var_len = strlen(string_ret); ret = (u_char *)string_ret; } break; case ASTCHANDATA: if (ast_channel_data(chan)) { - strncpy(string_ret, ast_channel_data(chan), sizeof(string_ret)); - string_ret[sizeof(string_ret) - 1] = '\0'; + ast_copy_string(string_ret, ast_channel_data(chan), sizeof(string_ret)); *var_len = strlen(string_ret); ret = (u_char *)string_ret; } break; case ASTCHANCONTEXT: - strncpy(string_ret, ast_channel_context(chan), sizeof(string_ret)); - string_ret[sizeof(string_ret) - 1] = '\0'; + ast_copy_string(string_ret, ast_channel_context(chan), sizeof(string_ret)); *var_len = strlen(string_ret); ret = (u_char *)string_ret; break; case ASTCHANMACROCONTEXT: - strncpy(string_ret, ast_channel_macrocontext(chan), sizeof(string_ret)); - string_ret[sizeof(string_ret) - 1] = '\0'; + ast_copy_string(string_ret, ast_channel_macrocontext(chan), sizeof(string_ret)); *var_len = strlen(string_ret); ret = (u_char *)string_ret; break; case ASTCHANMACROEXTEN: - strncpy(string_ret, ast_channel_macroexten(chan), sizeof(string_ret)); - string_ret[sizeof(string_ret) - 1] = '\0'; + ast_copy_string(string_ret, ast_channel_macroexten(chan), sizeof(string_ret)); *var_len = strlen(string_ret); ret = (u_char *)string_ret; break; @@ -367,8 +355,7 @@ static u_char *ast_var_channels_table(struct variable *vp, oid *name, size_t *le ret = (u_char *)&long_ret; break; case ASTCHANEXTEN: - strncpy(string_ret, ast_channel_exten(chan), sizeof(string_ret)); - string_ret[sizeof(string_ret) - 1] = '\0'; + ast_copy_string(string_ret, ast_channel_exten(chan), sizeof(string_ret)); *var_len = strlen(string_ret); ret = (u_char *)string_ret; break; @@ -378,23 +365,20 @@ static u_char *ast_var_channels_table(struct variable *vp, oid *name, size_t *le break; case ASTCHANACCOUNTCODE: if (!ast_strlen_zero(ast_channel_accountcode(chan))) { - strncpy(string_ret, ast_channel_accountcode(chan), sizeof(string_ret)); - string_ret[sizeof(string_ret) - 1] = '\0'; + ast_copy_string(string_ret, ast_channel_accountcode(chan), sizeof(string_ret)); *var_len = strlen(string_ret); ret = (u_char *)string_ret; } break; case ASTCHANFORWARDTO: if (!ast_strlen_zero(ast_channel_call_forward(chan))) { - strncpy(string_ret, ast_channel_call_forward(chan), sizeof(string_ret)); - string_ret[sizeof(string_ret) - 1] = '\0'; + ast_copy_string(string_ret, ast_channel_call_forward(chan), sizeof(string_ret)); *var_len = strlen(string_ret); ret = (u_char *)string_ret; } break; case ASTCHANUNIQUEID: - strncpy(string_ret, ast_channel_uniqueid(chan), sizeof(string_ret)); - string_ret[sizeof(string_ret) - 1] = '\0'; + ast_copy_string(string_ret, ast_channel_uniqueid(chan), sizeof(string_ret)); *var_len = strlen(string_ret); ret = (u_char *)string_ret; break; @@ -420,40 +404,35 @@ static u_char *ast_var_channels_table(struct variable *vp, oid *name, size_t *le break; case ASTCHANCIDDNID: if (ast_channel_dialed(chan)->number.str) { - strncpy(string_ret, ast_channel_dialed(chan)->number.str, sizeof(string_ret)); - string_ret[sizeof(string_ret) - 1] = '\0'; + ast_copy_string(string_ret, ast_channel_dialed(chan)->number.str, sizeof(string_ret)); *var_len = strlen(string_ret); ret = (u_char *)string_ret; } break; case ASTCHANCIDNUM: if (ast_channel_caller(chan)->id.number.valid && ast_channel_caller(chan)->id.number.str) { - strncpy(string_ret, ast_channel_caller(chan)->id.number.str, sizeof(string_ret)); - string_ret[sizeof(string_ret) - 1] = '\0'; + ast_copy_string(string_ret, ast_channel_caller(chan)->id.number.str, sizeof(string_ret)); *var_len = strlen(string_ret); ret = (u_char *)string_ret; } break; case ASTCHANCIDNAME: if (ast_channel_caller(chan)->id.name.valid && ast_channel_caller(chan)->id.name.str) { - strncpy(string_ret, ast_channel_caller(chan)->id.name.str, sizeof(string_ret)); - string_ret[sizeof(string_ret) - 1] = '\0'; + ast_copy_string(string_ret, ast_channel_caller(chan)->id.name.str, sizeof(string_ret)); *var_len = strlen(string_ret); ret = (u_char *)string_ret; } break; case ASTCHANCIDANI: if (ast_channel_caller(chan)->ani.number.valid && ast_channel_caller(chan)->ani.number.str) { - strncpy(string_ret, ast_channel_caller(chan)->ani.number.str, sizeof(string_ret)); - string_ret[sizeof(string_ret) - 1] = '\0'; + ast_copy_string(string_ret, ast_channel_caller(chan)->ani.number.str, sizeof(string_ret)); *var_len = strlen(string_ret); ret = (u_char *)string_ret; } break; case ASTCHANCIDRDNIS: if (ast_channel_redirecting(chan)->from.number.valid && ast_channel_redirecting(chan)->from.number.str) { - strncpy(string_ret, ast_channel_redirecting(chan)->from.number.str, sizeof(string_ret)); - string_ret[sizeof(string_ret) - 1] = '\0'; + ast_copy_string(string_ret, ast_channel_redirecting(chan)->from.number.str, sizeof(string_ret)); *var_len = strlen(string_ret); ret = (u_char *)string_ret; } @@ -484,8 +463,7 @@ static u_char *ast_var_channels_table(struct variable *vp, oid *name, size_t *le break; case ASTCHANTONEZONE: if (ast_channel_zone(chan)) { - strncpy(string_ret, ast_channel_zone(chan)->country, sizeof(string_ret)); - string_ret[sizeof(string_ret) - 1] = '\0'; + ast_copy_string(string_ret, ast_channel_zone(chan)->country, sizeof(string_ret)); *var_len = strlen(string_ret); ret = (u_char *)string_ret; } -- cgit v1.2.3