summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Coopersmith <alan.coopersmith@oracle.com>2011-11-19 00:49:52 -0800
committerAlan Coopersmith <alan.coopersmith@oracle.com>2011-11-19 00:49:52 -0800
commit3570de4c260cf45d202e3577d13385d722d043d1 (patch)
treebc6fc5e66ff8ffbe199a10376afaecfdd5a6182c
parentc6b02069954ef83f8766d6a157b0a95939523d32 (diff)
Replace many malloc(strlen)+strcpy calls with strdup calls
Some used local Malloc wrapper that checked for a NULL return and exited, so had to add matching checks for strdup returning NULL. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-rw-r--r--io.c21
-rw-r--r--misc.c73
2 files changed, 49 insertions, 45 deletions
diff --git a/io.c b/io.c
index b1de209..2eb9e58 100644
--- a/io.c
+++ b/io.c
@@ -620,15 +620,18 @@ ProcessNewClientConnection (
* the log data struct will go out of scope before we check the
* server security extension or other loggable events)
*/
- client_conn_array[temp_sock_fd]->source =
- Malloc(strlen(inet_ntoa(temp_sockaddr_in.sin_addr)) + 1);
- client_conn_array[temp_sock_fd]->destination =
- Malloc(strlen(inet_ntoa(server_sockaddr_in.sin_addr)) + 1);
-
- (void) strcpy(client_conn_array[temp_sock_fd]->source,
- inet_ntoa(temp_sockaddr_in.sin_addr));
- (void) strcpy(client_conn_array[temp_sock_fd]->destination,
- inet_ntoa(server_sockaddr_in.sin_addr));
+ if ((client_conn_array[temp_sock_fd]->source =
+ strdup(inet_ntoa(temp_sockaddr_in.sin_addr))) == NULL)
+ {
+ (void) fprintf (stderr, "malloc - client source addr\n");
+ return;
+ }
+ if ((client_conn_array[temp_sock_fd]->destination =
+ strdup(inet_ntoa(server_sockaddr_in.sin_addr))) == NULL)
+ {
+ (void) fprintf (stderr, "malloc - client dest addr\n");
+ return;
+ }
/*
* allocate a buffer for the X server connection
diff --git a/misc.c b/misc.c
index d5d8b43..d178ae7 100644
--- a/misc.c
+++ b/misc.c
@@ -146,7 +146,7 @@ doConfigRequireDisallow(
return 1;
}
- SitePolicies[SitePolicyCount] = malloc(strlen(result) + 1);
+ SitePolicies[SitePolicyCount] = strdup(result);
if (!SitePolicies[SitePolicyCount])
{
@@ -154,7 +154,7 @@ doConfigRequireDisallow(
return 1;
}
- strcpy(SitePolicies[SitePolicyCount++], result);
+ SitePolicyCount++;
#ifdef DEBUG
(void) fprintf(stderr, "%s %s", permit ? "requiring" : "disallowing", result);
@@ -249,13 +249,11 @@ doConfigPermitDeny(
config_file_data = config_info->config_file_data;
- if ((config_file_data[line_number]->permit_deny =
- malloc (strlen(result) + 1)) == NULL)
+ if ((config_file_data[line_number]->permit_deny = strdup(result)) == NULL)
{
(void) fprintf(stderr, "malloc - config rule (permit/deny keyword)\n");
return 0;
}
- strcpy(config_file_data[line_number]->permit_deny, result);
#ifdef DEBUG
(void) fprintf(stderr,
@@ -273,13 +271,12 @@ doConfigPermitDeny(
if (doVerifyHostMaskToken(token))
{
- if ((config_file_data[line_number]->source_hostname =
- malloc (strlen(result) + 1)) == NULL)
+ if ((config_file_data[line_number]->source_hostname = strdup(result))
+ == NULL)
{
(void) fprintf(stderr, "malloc - config rule (source host)\n");
return 0;
}
- strcpy(config_file_data[line_number]->source_hostname, result);
#ifdef DEBUG
(void) fprintf(stderr,
"second token = %s\n",
@@ -304,13 +301,12 @@ doConfigPermitDeny(
if (doVerifyHostMaskToken(token))
{
- if ((config_file_data[line_number]->source_netmask =
- malloc (strlen(result) + 1)) == NULL)
+ if ((config_file_data[line_number]->source_netmask = strdup(result))
+ == NULL)
{
(void) fprintf(stderr, "malloc - config rule (source netmask)\n");
return 0;
}
- strcpy(config_file_data[line_number]->source_netmask, result);
#ifdef DEBUG
(void) fprintf(stderr,
"third token = %s\n",
@@ -332,13 +328,12 @@ doConfigPermitDeny(
if (doVerifyHostMaskToken(token))
{
- if ((config_file_data[line_number]->dest_hostname =
- malloc (strlen(result) + 1)) == NULL)
+ if ((config_file_data[line_number]->dest_hostname = strdup(result))
+ == NULL)
{
(void) fprintf(stderr, "malloc - config rule (destination host)\n");
return 0;
}
- strcpy(config_file_data[line_number]->dest_hostname, result);
#ifdef DEBUG
(void) fprintf(stderr,
"fourth token = %s\n",
@@ -360,13 +355,12 @@ doConfigPermitDeny(
if (doVerifyHostMaskToken(token))
{
- if ((config_file_data[line_number]->dest_netmask =
- malloc (strlen(result) + 1)) == NULL)
+ if ((config_file_data[line_number]->dest_netmask = strdup(result))
+ == NULL)
{
(void) fprintf(stderr, "malloc - config rule (destination mask)\n");
return 0;
}
- strcpy(config_file_data[line_number]->dest_netmask, result);
#ifdef DEBUG
(void) fprintf(stderr,
"fifth token = %s\n",
@@ -385,13 +379,11 @@ doConfigPermitDeny(
{
if (!strcmp("eq", result))
{
- if ((config_file_data[line_number]->operator =
- malloc (strlen(result) + 1)) == NULL)
+ if ((config_file_data[line_number]->operator = strdup(result)) == NULL)
{
(void) fprintf(stderr, "malloc - config rule (op)\n");
return 0;
}
- strcpy(config_file_data[line_number]->operator, result);
#ifdef DEBUG
(void) fprintf(stderr,
"sixth token = %s\n",
@@ -410,13 +402,11 @@ doConfigPermitDeny(
(!strncmp("fp", result, 2)) ||
(!strncmp("cd", result, 2)))
{
- if ((config_file_data[line_number]->service =
- malloc (strlen(result) + 1)) == NULL)
+ if ((config_file_data[line_number]->service = strdup(result)) == NULL)
{
(void) fprintf(stderr, "malloc - config rule (service)\n");
return 0;
}
- strcpy(config_file_data[line_number]->service, result);
#ifdef DEBUG
(void) fprintf(stderr,
"seventh token = %s\n",
@@ -1212,15 +1202,12 @@ doCheckServerList(
/*
* allocate and return the listen_port_string
*/
- if ((*listen_port_string = malloc
- (strlen(server_array[list_counter]->listen_port_string) + 1))
- == NULL)
+ if ((*listen_port_string =
+ strdup(server_array[list_counter]->listen_port_string)) == NULL)
{
(void) fprintf(stderr, "malloc - listen_port_string\n");
return FAILURE;
}
- strcpy(*listen_port_string,
- server_array[list_counter]->listen_port_string);
return SUCCESS;
}
}
@@ -1300,8 +1287,11 @@ doProcessInputArgs (
break_flag = 1;
break;
}
- config_info->pm_listen_port = Malloc(strlen(argv[arg_counter+1])+1);
- strcpy(config_info->pm_listen_port, argv[arg_counter + 1]);
+ if ((config_info->pm_listen_port = strdup(argv[arg_counter+1])) == NULL)
+ {
+ fprintf(stderr, "malloc - argument -pmport\n");
+ exit(1);
+ }
}
else if (!strcmp("-max_pm_conns", argv[arg_counter]))
{
@@ -1328,8 +1318,12 @@ doProcessInputArgs (
break_flag = 1;
break;
}
- config_info->config_file_path = Malloc(strlen(argv[arg_counter+1])+1);
- strcpy(config_info->config_file_path, argv[arg_counter + 1]);
+ if ((config_info->config_file_path = strdup(argv[arg_counter+1]))
+ == NULL)
+ {
+ fprintf(stderr, "malloc - argument -config\n");
+ exit(1);
+ }
}
else if (!strcmp("-verify", argv[arg_counter]))
{
@@ -1342,8 +1336,11 @@ doProcessInputArgs (
break_flag = 1;
break;
}
- config_info->log_file_path = Malloc(strlen(argv[arg_counter+1])+1);
- strcpy(config_info->log_file_path, argv[arg_counter + 1]);
+ if ((config_info->log_file_path = strdup(argv[arg_counter+1])) == NULL)
+ {
+ fprintf(stderr, "malloc - argument -logfile\n");
+ exit(1);
+ }
}
else if (!strcmp("-loglevel", argv[arg_counter]))
{
@@ -1419,8 +1416,12 @@ doProcessInputArgs (
config_info->client_data_timeout = CLIENT_DATA_TIMEOUT_DEFAULT;
if (config_info->pm_listen_port == NULL)
{
- config_info->pm_listen_port = Malloc(strlen(PM_LISTEN_PORT) + 1);
- strcpy(config_info->pm_listen_port, PM_LISTEN_PORT);
+ config_info->pm_listen_port = strdup(PM_LISTEN_PORT);
+ if (!config_info->pm_listen_port)
+ {
+ (void) fprintf (stderr, "malloc - PM listen port\n");
+ exit (1);
+ }
}
}