mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 04:11:08 +00:00
Resolve FORWARD_NULL static analysis warnings
This resolves core findings from ASTERISK-19650 numbers 0-2, 6, 7, 9-11, 14-20, 22-24, 28, 30-32, 34-36, 42-56, 82-84, 87, 89-90, 93-102, 104, 105, 109-111, and 115. Finding numbers 26, 33, and 29 were already resolved. Those skipped were either extended/deprecated or in areas of code that shouldn't be disturbed. (Closes issue ASTERISK-19650) ........ Merged revisions 366167 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 366168 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@366169 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -217,7 +217,7 @@ int parse_uri_full(char *uri, const char *scheme, char **user, char **pass,
|
||||
}
|
||||
|
||||
|
||||
AST_TEST_DEFINE(sip_parse_uri_fully_test)
|
||||
AST_TEST_DEFINE(sip_parse_uri_full_test)
|
||||
{
|
||||
int res = AST_TEST_PASS;
|
||||
char uri[1024];
|
||||
@@ -227,12 +227,6 @@ AST_TEST_DEFINE(sip_parse_uri_fully_test)
|
||||
struct testdata {
|
||||
char *desc;
|
||||
char *uri;
|
||||
char **userptr;
|
||||
char **passptr;
|
||||
char **hostportptr;
|
||||
char **headersptr;
|
||||
char **residueptr;
|
||||
struct uriparams *paramsptr;
|
||||
char *user;
|
||||
char *pass;
|
||||
char *hostport;
|
||||
@@ -250,12 +244,6 @@ AST_TEST_DEFINE(sip_parse_uri_fully_test)
|
||||
struct testdata td1 = {
|
||||
.desc = "no headers",
|
||||
.uri = "sip:user:secret@host:5060;param=discard;transport=tcp;param2=residue",
|
||||
.userptr = &user,
|
||||
.passptr = &pass,
|
||||
.hostportptr = &hostport,
|
||||
.headersptr = &headers,
|
||||
.residueptr = &residue,
|
||||
.paramsptr = ¶ms,
|
||||
.user = "user",
|
||||
.pass = "secret",
|
||||
.hostport = "host:5060",
|
||||
@@ -269,12 +257,6 @@ AST_TEST_DEFINE(sip_parse_uri_fully_test)
|
||||
struct testdata td2 = {
|
||||
.desc = "with headers",
|
||||
.uri = "sip:user:secret@host:5060;param=discard;transport=tcp;param2=discard2?header=blah&header2=blah2;param3=residue",
|
||||
.userptr = &user,
|
||||
.passptr = &pass,
|
||||
.hostportptr = &hostport,
|
||||
.headersptr = &headers,
|
||||
.residueptr = &residue,
|
||||
.paramsptr = ¶ms,
|
||||
.user = "user",
|
||||
.pass = "secret",
|
||||
.hostport = "host:5060",
|
||||
@@ -288,12 +270,6 @@ AST_TEST_DEFINE(sip_parse_uri_fully_test)
|
||||
struct testdata td3 = {
|
||||
.desc = "difficult user",
|
||||
.uri = "sip:-_.!~*'()&=+$,;?/:secret@host:5060;transport=tcp",
|
||||
.userptr = &user,
|
||||
.passptr = &pass,
|
||||
.hostportptr = &hostport,
|
||||
.headersptr = &headers,
|
||||
.residueptr = &residue,
|
||||
.paramsptr = ¶ms,
|
||||
.user = "-_.!~*'()&=+$,;?/",
|
||||
.pass = "secret",
|
||||
.hostport = "host:5060",
|
||||
@@ -307,12 +283,6 @@ AST_TEST_DEFINE(sip_parse_uri_fully_test)
|
||||
struct testdata td4 = {
|
||||
.desc = "difficult pass",
|
||||
.uri = "sip:user:-_.!~*'()&=+$,@host:5060;transport=tcp",
|
||||
.userptr = &user,
|
||||
.passptr = &pass,
|
||||
.hostportptr = &hostport,
|
||||
.headersptr = &headers,
|
||||
.residueptr = &residue,
|
||||
.paramsptr = ¶ms,
|
||||
.user = "user",
|
||||
.pass = "-_.!~*'()&=+$,",
|
||||
.hostport = "host:5060",
|
||||
@@ -326,12 +296,6 @@ AST_TEST_DEFINE(sip_parse_uri_fully_test)
|
||||
struct testdata td5 = {
|
||||
.desc = "difficult host",
|
||||
.uri = "sip:user:secret@1-1.a-1.:5060;transport=tcp",
|
||||
.userptr = &user,
|
||||
.passptr = &pass,
|
||||
.hostportptr = &hostport,
|
||||
.headersptr = &headers,
|
||||
.residueptr = &residue,
|
||||
.paramsptr = ¶ms,
|
||||
.user = "user",
|
||||
.pass = "secret",
|
||||
.hostport = "1-1.a-1.:5060",
|
||||
@@ -345,12 +309,6 @@ AST_TEST_DEFINE(sip_parse_uri_fully_test)
|
||||
struct testdata td6 = {
|
||||
.desc = "difficult params near transport",
|
||||
.uri = "sip:user:secret@host:5060;-_.!~*'()[]/:&+$=-_.!~*'()[]/:&+$;transport=tcp",
|
||||
.userptr = &user,
|
||||
.passptr = &pass,
|
||||
.hostportptr = &hostport,
|
||||
.headersptr = &headers,
|
||||
.residueptr = &residue,
|
||||
.paramsptr = ¶ms,
|
||||
.user = "user",
|
||||
.pass = "secret",
|
||||
.hostport = "host:5060",
|
||||
@@ -364,12 +322,6 @@ AST_TEST_DEFINE(sip_parse_uri_fully_test)
|
||||
struct testdata td7 = {
|
||||
.desc = "difficult params near headers",
|
||||
.uri = "sip:user:secret@host:5060;-_.!~*'()[]/:&+$=-_.!~*'()[]/:&+$?header=blah&header2=blah2;-_.!~*'()[]/:&+$=residue",
|
||||
.userptr = &user,
|
||||
.passptr = &pass,
|
||||
.hostportptr = &hostport,
|
||||
.headersptr = &headers,
|
||||
.residueptr = &residue,
|
||||
.paramsptr = ¶ms,
|
||||
.user = "user",
|
||||
.pass = "secret",
|
||||
.hostport = "host:5060",
|
||||
@@ -383,12 +335,6 @@ AST_TEST_DEFINE(sip_parse_uri_fully_test)
|
||||
struct testdata td8 = {
|
||||
.desc = "lr parameter",
|
||||
.uri = "sip:user:secret@host:5060;param=discard;lr?header=blah",
|
||||
.userptr = &user,
|
||||
.passptr = &pass,
|
||||
.hostportptr = &hostport,
|
||||
.headersptr = &headers,
|
||||
.residueptr = &residue,
|
||||
.paramsptr = ¶ms,
|
||||
.user = "user",
|
||||
.pass = "secret",
|
||||
.hostport = "host:5060",
|
||||
@@ -402,12 +348,6 @@ AST_TEST_DEFINE(sip_parse_uri_fully_test)
|
||||
struct testdata td9 = {
|
||||
.desc = "alternative lr parameter",
|
||||
.uri = "sip:user:secret@host:5060;param=discard;lr=yes?header=blah",
|
||||
.userptr = &user,
|
||||
.passptr = &pass,
|
||||
.hostportptr = &hostport,
|
||||
.headersptr = &headers,
|
||||
.residueptr = &residue,
|
||||
.paramsptr = ¶ms,
|
||||
.user = "user",
|
||||
.pass = "secret",
|
||||
.hostport = "host:5060",
|
||||
@@ -421,12 +361,6 @@ AST_TEST_DEFINE(sip_parse_uri_fully_test)
|
||||
struct testdata td10 = {
|
||||
.desc = "no lr parameter",
|
||||
.uri = "sip:user:secret@host:5060;paramlr=lr;lr=no;lr=off;lr=0;lr=;=lr;lrextra;lrparam2=lr?header=blah",
|
||||
.userptr = &user,
|
||||
.passptr = &pass,
|
||||
.hostportptr = &hostport,
|
||||
.headersptr = &headers,
|
||||
.residueptr = &residue,
|
||||
.paramsptr = ¶ms,
|
||||
.user = "user",
|
||||
.pass = "secret",
|
||||
.hostport = "host:5060",
|
||||
@@ -469,19 +403,19 @@ AST_TEST_DEFINE(sip_parse_uri_fully_test)
|
||||
params.lr = 0;
|
||||
|
||||
ast_copy_string(uri,testdataptr->uri,sizeof(uri));
|
||||
if (parse_uri_full(uri, "sip:,sips:", testdataptr->userptr,
|
||||
testdataptr->passptr, testdataptr->hostportptr,
|
||||
testdataptr->paramsptr,
|
||||
testdataptr->headersptr,
|
||||
testdataptr->residueptr) ||
|
||||
((testdataptr->userptr) && strcmp(testdataptr->user, user)) ||
|
||||
((testdataptr->passptr) && strcmp(testdataptr->pass, pass)) ||
|
||||
((testdataptr->hostportptr) && strcmp(testdataptr->hostport, hostport)) ||
|
||||
((testdataptr->headersptr) && strcmp(testdataptr->headers, headers)) ||
|
||||
((testdataptr->residueptr) && strcmp(testdataptr->residue, residue)) ||
|
||||
((testdataptr->paramsptr) && strcmp(testdataptr->params.transport,params.transport)) ||
|
||||
((testdataptr->paramsptr) && (testdataptr->params.lr != params.lr)) ||
|
||||
((testdataptr->paramsptr) && strcmp(testdataptr->params.user,params.user))
|
||||
if (parse_uri_full(uri, "sip:,sips:", &user,
|
||||
&pass, &hostport,
|
||||
¶ms,
|
||||
&headers,
|
||||
&residue) ||
|
||||
(user && strcmp(testdataptr->user, user)) ||
|
||||
(pass && strcmp(testdataptr->pass, pass)) ||
|
||||
(hostport && strcmp(testdataptr->hostport, hostport)) ||
|
||||
(headers && strcmp(testdataptr->headers, headers)) ||
|
||||
(residue && strcmp(testdataptr->residue, residue)) ||
|
||||
(strcmp(testdataptr->params.transport,params.transport)) ||
|
||||
(testdataptr->params.lr != params.lr) ||
|
||||
(strcmp(testdataptr->params.user,params.user))
|
||||
) {
|
||||
ast_test_status_update(test, "Sub-Test: %s, failed.\n", testdataptr->desc);
|
||||
res = AST_TEST_FAIL;
|
||||
@@ -1220,13 +1154,6 @@ AST_TEST_DEFINE(parse_name_andor_addr_test)
|
||||
struct testdata {
|
||||
char *desc;
|
||||
char *uri;
|
||||
char **nameptr;
|
||||
char **userptr;
|
||||
char **passptr;
|
||||
char **hostportptr;
|
||||
char **headersptr;
|
||||
char **residueptr;
|
||||
struct uriparams *paramsptr;
|
||||
char *name;
|
||||
char *user;
|
||||
char *pass;
|
||||
@@ -1244,13 +1171,6 @@ AST_TEST_DEFINE(parse_name_andor_addr_test)
|
||||
struct testdata td1 = {
|
||||
.desc = "quotes and brackets",
|
||||
.uri = "\"name :@ \" <sip:user:secret@host:5060;param=discard;transport=tcp>;tag=tag",
|
||||
.nameptr = &name,
|
||||
.userptr = &user,
|
||||
.passptr = &pass,
|
||||
.hostportptr = &hostport,
|
||||
.headersptr = &headers,
|
||||
.residueptr = &residue,
|
||||
.paramsptr = ¶ms,
|
||||
.name = "name :@ ",
|
||||
.user = "user",
|
||||
.pass = "secret",
|
||||
@@ -1265,13 +1185,6 @@ AST_TEST_DEFINE(parse_name_andor_addr_test)
|
||||
struct testdata td2 = {
|
||||
.desc = "no quotes",
|
||||
.uri = "givenname familyname <sip:user:secret@host:5060;param=discard;transport=tcp>;expires=3600",
|
||||
.nameptr = &name,
|
||||
.userptr = &user,
|
||||
.passptr = &pass,
|
||||
.hostportptr = &hostport,
|
||||
.headersptr = &headers,
|
||||
.residueptr = &residue,
|
||||
.paramsptr = ¶ms,
|
||||
.name = "givenname familyname",
|
||||
.user = "user",
|
||||
.pass = "secret",
|
||||
@@ -1286,13 +1199,6 @@ AST_TEST_DEFINE(parse_name_andor_addr_test)
|
||||
struct testdata td3 = {
|
||||
.desc = "no brackets",
|
||||
.uri = "sip:user:secret@host:5060;param=discard;transport=tcp;q=1",
|
||||
.nameptr = &name,
|
||||
.userptr = &user,
|
||||
.passptr = &pass,
|
||||
.hostportptr = &hostport,
|
||||
.headersptr = &headers,
|
||||
.residueptr = &residue,
|
||||
.paramsptr = ¶ms,
|
||||
.name = "",
|
||||
.user = "user",
|
||||
.pass = "secret",
|
||||
@@ -1307,13 +1213,6 @@ AST_TEST_DEFINE(parse_name_andor_addr_test)
|
||||
struct testdata td4 = {
|
||||
.desc = "just host",
|
||||
.uri = "sips:host",
|
||||
.nameptr = &name,
|
||||
.userptr = &user,
|
||||
.passptr = &pass,
|
||||
.hostportptr = &hostport,
|
||||
.headersptr = &headers,
|
||||
.residueptr = &residue,
|
||||
.paramsptr = ¶ms,
|
||||
.name = "",
|
||||
.user = "",
|
||||
.pass = "",
|
||||
@@ -1351,21 +1250,21 @@ AST_TEST_DEFINE(parse_name_andor_addr_test)
|
||||
params.lr = 0;
|
||||
ast_copy_string(uri,testdataptr->uri,sizeof(uri));
|
||||
if (parse_name_andor_addr(uri, "sip:,sips:",
|
||||
testdataptr->nameptr,
|
||||
testdataptr->userptr,
|
||||
testdataptr->passptr,
|
||||
testdataptr->hostportptr,
|
||||
testdataptr->paramsptr,
|
||||
testdataptr->headersptr,
|
||||
testdataptr->residueptr) ||
|
||||
((testdataptr->nameptr) && strcmp(testdataptr->name, name)) ||
|
||||
((testdataptr->userptr) && strcmp(testdataptr->user, user)) ||
|
||||
((testdataptr->passptr) && strcmp(testdataptr->pass, pass)) ||
|
||||
((testdataptr->hostportptr) && strcmp(testdataptr->hostport, hostport)) ||
|
||||
((testdataptr->headersptr) && strcmp(testdataptr->headers, headers)) ||
|
||||
((testdataptr->residueptr) && strcmp(testdataptr->residue, residue)) ||
|
||||
((testdataptr->paramsptr) && strcmp(testdataptr->params.transport,params.transport)) ||
|
||||
((testdataptr->paramsptr) && strcmp(testdataptr->params.user,params.user))
|
||||
&name,
|
||||
&user,
|
||||
&pass,
|
||||
&hostport,
|
||||
¶ms,
|
||||
&headers,
|
||||
&residue) ||
|
||||
(name && strcmp(testdataptr->name, name)) ||
|
||||
(user && strcmp(testdataptr->user, user)) ||
|
||||
(pass && strcmp(testdataptr->pass, pass)) ||
|
||||
(hostport && strcmp(testdataptr->hostport, hostport)) ||
|
||||
(headers && strcmp(testdataptr->headers, headers)) ||
|
||||
(residue && strcmp(testdataptr->residue, residue)) ||
|
||||
(strcmp(testdataptr->params.transport,params.transport)) ||
|
||||
(strcmp(testdataptr->params.user,params.user))
|
||||
) {
|
||||
ast_test_status_update(test, "Sub-Test: %s,failed.\n", testdataptr->desc);
|
||||
res = AST_TEST_FAIL;
|
||||
@@ -2579,7 +2478,7 @@ void sip_request_parser_register_tests(void)
|
||||
AST_TEST_REGISTER(sip_parse_uri_test);
|
||||
AST_TEST_REGISTER(get_in_brackets_test);
|
||||
AST_TEST_REGISTER(get_name_and_number_test);
|
||||
AST_TEST_REGISTER(sip_parse_uri_fully_test);
|
||||
AST_TEST_REGISTER(sip_parse_uri_full_test);
|
||||
AST_TEST_REGISTER(parse_name_andor_addr_test);
|
||||
AST_TEST_REGISTER(parse_contact_header_test);
|
||||
AST_TEST_REGISTER(sip_parse_options_test);
|
||||
@@ -2592,7 +2491,7 @@ void sip_request_parser_unregister_tests(void)
|
||||
AST_TEST_UNREGISTER(get_calleridname_test);
|
||||
AST_TEST_UNREGISTER(get_in_brackets_test);
|
||||
AST_TEST_UNREGISTER(get_name_and_number_test);
|
||||
AST_TEST_UNREGISTER(sip_parse_uri_fully_test);
|
||||
AST_TEST_UNREGISTER(sip_parse_uri_full_test);
|
||||
AST_TEST_UNREGISTER(parse_name_andor_addr_test);
|
||||
AST_TEST_UNREGISTER(parse_contact_header_test);
|
||||
AST_TEST_UNREGISTER(sip_parse_options_test);
|
||||
|
Reference in New Issue
Block a user