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) {


Reply via email to