Skip to content

Commit 31bed1f

Browse files
author
chaozhu
committed
add some param check
1 parent 214e5d4 commit 31bed1f

File tree

2 files changed

+41
-14
lines changed

2 files changed

+41
-14
lines changed

src/main/java/org/tron/common/utils/HttpSelfFormatFieldName.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,22 @@ public class HttpSelfFormatFieldName {
115115
AddressFieldNameMap.put("protocol.ShieldedTransferContract.transparent_from_address", 1);
116116
AddressFieldNameMap.put("protocol.ShieldedTransferContract.transparent_to_address", 1);
117117

118+
//FreezeBalanceV2Contract
119+
AddressFieldNameMap.put("protocol.FreezeBalanceV2Contract.owner_address", 1);
120+
//UnfreezeBalanceV2Contract
121+
AddressFieldNameMap.put("protocol.UnfreezeBalanceV2Contract.owner_address", 1);
122+
//WithdrawExpireUnfreezeContract
123+
AddressFieldNameMap.put("protocol.WithdrawExpireUnfreezeContract.owner_address", 1);
124+
//DelegateResourceContract
125+
AddressFieldNameMap.put("protocol.DelegateResourceContract.owner_address", 1);
126+
AddressFieldNameMap.put("protocol.DelegateResourceContract.receiver_address", 1);
127+
//UnDelegateResourceContract
128+
AddressFieldNameMap.put("protocol.UnDelegateResourceContract.owner_address", 1);
129+
AddressFieldNameMap.put("protocol.UnDelegateResourceContract.receiver_address", 1);
130+
AddressFieldNameMap.put("protocol.CanDelegatedMaxSizeRequestMessage.owner_address", 1);
131+
AddressFieldNameMap.put("protocol.GetAvailableUnfreezeCountRequestMessage.owner_address", 1);
132+
AddressFieldNameMap.put("protocol.CanWithdrawUnfreezeAmountRequestMessage.owner_address", 1);
133+
118134
//***** Tron.proto *****
119135
//AccountId
120136
AddressFieldNameMap.put("protocol.AccountId.address", 1);

src/main/java/org/tron/walletcli/Client.java

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1427,24 +1427,19 @@ private void delegateResource(String[] parameters)
14271427
return;
14281428
}
14291429
} else if (parameters.length == 4 || parameters.length == 5) {
1430-
ownerAddress = getAddressBytes(parameters[index++]);
1430+
ownerAddress = getAddressBytes(parameters[index]);
14311431
if (ownerAddress != null) {
1432-
balance = Long.parseLong(parameters[index++]);
1433-
resourceCode = Integer.parseInt(parameters[index++]);
1434-
receiverAddress = getAddressBytes(parameters[index++]);
1435-
if (receiverAddress == null) {
1436-
System.out.println(
1437-
"delegateResource receiverAddress is invalid");
1438-
return;
1439-
}
1440-
if (parameters.length == 5) {
1441-
lock = Boolean.parseBoolean(parameters[index++]);
1442-
}
1443-
} if (ownerAddress == null) {
1432+
index ++;
1433+
}
1434+
balance = Long.parseLong(parameters[index++]);
1435+
resourceCode = Integer.parseInt(parameters[index++]);
1436+
receiverAddress = getAddressBytes(parameters[index++]);
1437+
if (receiverAddress == null) {
14441438
System.out.println(
1445-
"delegateResource ownerAddress is invalid");
1439+
"delegateResource receiverAddress is invalid");
14461440
return;
14471441
}
1442+
lock = Boolean.parseBoolean(parameters[index++]);
14481443
}
14491444

14501445

@@ -1719,7 +1714,13 @@ private void getCanWithdrawUnfreezeAmount(String[] parameters) throws CipherExce
17191714
byte[] ownerAddress = getAddressBytes(parameters[index]);
17201715
if (ownerAddress != null) {
17211716
index++;
1717+
if (parameters.length != 2) {
1718+
System.out.println("Using getCanWithdrawUnfreezeAmount command needs 2 parameters like: ");
1719+
System.out.println("getcanwithdrawunfreezeamount [ownerAddress] timestamp");
1720+
return;
1721+
}
17221722
}
1723+
17231724
timestamp = Long.parseLong(parameters[index++]);
17241725
if (timestamp < 0) {
17251726
System.out.println("Invalid param, timestamp >= 0");
@@ -1747,8 +1748,15 @@ private void getCanDelegatedMaxSize(String[] parameters) throws CipherException,
17471748
byte[] ownerAddress = getAddressBytes(parameters[index]);
17481749
if (ownerAddress != null) {
17491750
index++;
1751+
if (parameters.length < 2) {
1752+
System.out.println("Using getcandelegatedmaxsize command needs 2 parameters like: ");
1753+
System.out.println("getcandelegatedmaxsize [ownerAddress] type");
1754+
return ;
1755+
}
17501756
}
1757+
17511758
type = Integer.parseInt(parameters[index++]);
1759+
17521760
if (ResourceCode.BANDWIDTH.ordinal() != type && ResourceCode.ENERGY.ordinal() != type) {
17531761
System.out.println("getcandelegatedmaxsize param type must be: 0 or 1");
17541762
return;
@@ -1773,6 +1781,9 @@ private void getAvailableUnfreezeCount(String[] parameters) throws CipherExcepti
17731781
byte[] ownerAddress = null;
17741782
if (parameters.length == 1) {
17751783
ownerAddress = getAddressBytes(parameters[index]);
1784+
if (ownerAddress == null) {
1785+
return ;
1786+
}
17761787
}
17771788

17781789
Optional<GetAvailableUnfreezeCountResponseMessage> result = walletApiWrapper.getAvailableUnfreezeCount(ownerAddress);

0 commit comments

Comments
 (0)