You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by hu...@apache.org on 2014/07/22 13:28:17 UTC
[2/3] git commit: updated refs/heads/master to 4bf321b
Fix string encoding problem reported by coverity
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/70e68be4
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/70e68be4
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/70e68be4
Branch: refs/heads/master
Commit: 70e68be4f32538b7965e916cce1f51334fadbbd5
Parents: 493fd17
Author: Hugo Trippaers <ht...@schubergphilis.com>
Authored: Tue Jul 22 13:10:26 2014 +0200
Committer: Hugo Trippaers <ht...@schubergphilis.com>
Committed: Tue Jul 22 13:12:47 2014 +0200
----------------------------------------------------------------------
.../resource/virtualnetwork/ConfigHelper.java | 41 +++++++++++++-------
1 file changed, 26 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/70e68be4/core/src/com/cloud/agent/resource/virtualnetwork/ConfigHelper.java
----------------------------------------------------------------------
diff --git a/core/src/com/cloud/agent/resource/virtualnetwork/ConfigHelper.java b/core/src/com/cloud/agent/resource/virtualnetwork/ConfigHelper.java
index d94c1c6..a065a02 100644
--- a/core/src/com/cloud/agent/resource/virtualnetwork/ConfigHelper.java
+++ b/core/src/com/cloud/agent/resource/virtualnetwork/ConfigHelper.java
@@ -19,6 +19,16 @@
package com.cloud.agent.resource.virtualnetwork;
+import java.io.UnsupportedEncodingException;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.codec.binary.Base64;
+
+import com.google.gson.Gson;
+
import com.cloud.agent.api.BumpUpPriorityCommand;
import com.cloud.agent.api.SetupGuestNetworkCommand;
import com.cloud.agent.api.routing.CreateIpAliasCommand;
@@ -53,13 +63,6 @@ import com.cloud.network.HAProxyConfigurator;
import com.cloud.network.LoadBalancerConfigurator;
import com.cloud.network.rules.FirewallRule;
import com.cloud.utils.net.NetUtils;
-import com.google.gson.Gson;
-import org.apache.commons.codec.binary.Base64;
-
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
public class ConfigHelper {
@@ -307,10 +310,14 @@ public class ConfigHelper {
data.put(cmd.getVmIpAddress(), cmd.getVmData());
String json = new Gson().toJson(data);
+ String encoded;
+ try {
+ encoded = Base64.encodeBase64String(json.getBytes("UTF-8"));
+ } catch (UnsupportedEncodingException e) {
+ throw new IllegalArgumentException("Unable retrieve UTF-8 encoded data from vmdata");
+ }
- json = Base64.encodeBase64String(json.getBytes());
-
- String args = "-d " + json;
+ String args = "-d " + encoded;
cfg.add(new ScriptConfigItem(VRScripts.VMDATA, args));
return cfg;
@@ -367,12 +374,16 @@ public class ConfigHelper {
LinkedList<ConfigItem> cfg = new LinkedList<>();
List<IpAliasTO> ipAliasTOs = cmd.getIpAliasList();
- String args = "";
+ StringBuilder args = new StringBuilder();
for (IpAliasTO ipaliasto : ipAliasTOs) {
- args = args + ipaliasto.getAlias_count() + ":" + ipaliasto.getRouterip() + ":" + ipaliasto.getNetmask() + "-";
- }
-
- cfg.add(new ScriptConfigItem(VRScripts.IPALIAS_CREATE, args));
+ args.append(ipaliasto.getAlias_count());
+ args.append(':');
+ args.append(ipaliasto.getRouterip());
+ args.append(':');
+ args.append(ipaliasto.getNetmask());
+ args.append('-');
+ }
+ cfg.add(new ScriptConfigItem(VRScripts.IPALIAS_CREATE, args.toString()));
return cfg;
}