Author: igalic
Date: Sun Sep 18 00:30:26 2011
New Revision: 1172160
URL: http://svn.apache.org/viewvc?rev=1172160&view=rev
Log:
TS-953: consolidate string copy/concat for proxy/http/remap
Modified:
trafficserver/traffic/trunk/proxy/http/remap/RemapPlugins.cc
trafficserver/traffic/trunk/proxy/http/remap/UrlMapping.cc
trafficserver/traffic/trunk/proxy/http/remap/UrlRewrite.cc
Modified: trafficserver/traffic/trunk/proxy/http/remap/RemapPlugins.cc
URL:
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/http/remap/RemapPlugins.cc?rev=1172160&r1=1172159&r2=1172160&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/http/remap/RemapPlugins.cc (original)
+++ trafficserver/traffic/trunk/proxy/http/remap/RemapPlugins.cc Sun Sep 18
00:30:26 2011
@@ -193,7 +193,7 @@ RemapPlugins::run_single_remap()
*newPath = 0;
// Purify load run with QT in a reverse proxy indicated
- // a UMR/ABR/MSE in the line where we do a *newPath == '/' and the strncpy
+ // a UMR/ABR/MSE in the line where we do a *newPath == '/' and the
ink_strlcpy
// that follows it. The problem occurs if
// requestPathLen,fromPathLen,toPathLen are all 0; in this case, we never
// initialize newPath, but still de-ref it in *newPath == '/' comparison.
Modified: trafficserver/traffic/trunk/proxy/http/remap/UrlMapping.cc
URL:
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/http/remap/UrlMapping.cc?rev=1172160&r1=1172159&r2=1172160&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/http/remap/UrlMapping.cc (original)
+++ trafficserver/traffic/trunk/proxy/http/remap/UrlMapping.cc Sun Sep 18
00:30:26 2011
@@ -178,7 +178,12 @@ redirect_tag_str::parse_format_redirect_
/**
*
**/
-referer_info::referer_info(char *_ref, bool *error_flag, char *errmsgbuf, int
errmsgbuf_size):next(0), referer(0), referer_size(0), any(false),
negative(false),
+referer_info::referer_info(char *_ref, bool *error_flag, char *errmsgbuf, int
errmsgbuf_size):
+next(0),
+referer(0),
+referer_size(0),
+any(false),
+negative(false),
regx_valid(false)
{
const char *error;
@@ -201,7 +206,7 @@ regx_valid(false)
regx = pcre_compile(referer, PCRE_CASELESS, &error, &erroffset, NULL);
if (!regx) {
if (errmsgbuf && (errmsgbuf_size - 1) > 0)
- ink_strncpy(errmsgbuf, error, errmsgbuf_size - 1);
+ ink_strlcpy(errmsgbuf, error, errmsgbuf_size);
if (error_flag)
*error_flag = true;
} else
Modified: trafficserver/traffic/trunk/proxy/http/remap/UrlRewrite.cc
URL:
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/http/remap/UrlRewrite.cc?rev=1172160&r1=1172159&r2=1172160&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/http/remap/UrlRewrite.cc (original)
+++ trafficserver/traffic/trunk/proxy/http/remap/UrlRewrite.cc Sun Sep 18
00:30:26 2011
@@ -308,8 +308,8 @@ validate_filter_args(acl_filter_rule **
ipi = &rule->src_ip_array[rule->src_ip_cnt];
if (ul & REMAP_OPTFLG_INVERT)
ipi->invert = true;
- strncpy(tmpbuf, argptr, sizeof(tmpbuf) - 1);
- tmpbuf[sizeof(tmpbuf) - 1] = 0; // important! use copy of argument
+ ink_strlcpy(tmpbuf, argptr, sizeof(tmpbuf));
+ // important! use copy of argument
if (ExtractIpRange(tmpbuf, &ipi->start, &ipi->end) != NULL) {
Debug("url_rewrite", "[validate_filter_args] Unable to parse IP value
in %s", argv[i]);
snprintf(errStrBuf, errStrBufSize, "Unable to parse IP value in %s",
argv[i]);
@@ -520,9 +520,9 @@ UrlRewrite::UrlRewrite(const char *file_
REVERSE_ReadConfigInteger(url_remap_mode,
"proxy.config.url_remap.url_remap_mode");
REVERSE_ReadConfigInteger(backdoor_enabled,
"proxy.config.url_remap.handle_backdoor_urls");
- ink_strncpy(config_file_path, system_config_directory,
sizeof(config_file_path));
- strncat(config_file_path, "/", sizeof(config_file_path) -
strlen(config_file_path) - 1);
- strncat(config_file_path, config_file, sizeof(config_file_path) -
strlen(config_file_path) - 1);
+ ink_strlcpy(config_file_path, system_config_directory,
sizeof(config_file_path));
+ ink_strlcat(config_file_path, "/", sizeof(config_file_path));
+ ink_strlcat(config_file_path, config_file, sizeof(config_file_path));
ats_free(config_file);
if (this->BuildTable() != 0) {