Skip to content

Commit 1407033

Browse files
rsafonsecaDaanHoogland
authored andcommitted
Fix findbugs SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING warning in UserVmDaoImpl.java detail field was vulnerable
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com> This closes #473
1 parent f3afcb0 commit 1407033

1 file changed

Lines changed: 4 additions & 5 deletions

File tree

engine/schema/src/com/cloud/vm/dao/UserVmDaoImpl.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,7 @@ public class UserVmDaoImpl extends GenericDaoBase<UserVmVO, Long> implements Use
105105
+ "left join networks on nics.network_id=networks.id " + "left join user_ip_address on user_ip_address.vm_id=vm_instance.id " + "where vm_instance.id in (";
106106

107107
private static final String VMS_DETAIL_BY_NAME = "select vm_instance.instance_name, vm_instance.vm_type, vm_instance.id , user_vm_details.value, user_vm_details.name from vm_instance "
108-
+ "left join user_vm_details on vm_instance.id = user_vm_details.vm_id where (user_vm_details.name is null or user_vm_details.name = '";
109-
110-
private static final String VMS_DETAIL_BY_NAME2 = "') and vm_instance.instance_name in (";
108+
+ "left join user_vm_details on vm_instance.id = user_vm_details.vm_id where (user_vm_details.name is null or user_vm_details.name = ? ) and vm_instance.instance_name in (";
111109

112110
private static final int VM_DETAILS_BATCH_SIZE = 100;
113111

@@ -645,8 +643,9 @@ public List<Pair<Pair<String, VirtualMachine.Type>, Pair<Long, String>>> getVmsD
645643

646644
PreparedStatement pstmt = null;
647645
try {
648-
pstmt = txn.prepareStatement(VMS_DETAIL_BY_NAME + detail + VMS_DETAIL_BY_NAME2 + getQueryBatchAppender(vmNames.size()));
649-
int i = 1;
646+
pstmt = txn.prepareStatement(VMS_DETAIL_BY_NAME + getQueryBatchAppender(vmNames.size()));
647+
pstmt.setString(1, detail);
648+
int i = 2;
650649
for(String name : vmNames) {
651650
pstmt.setString(i, name);
652651
i++;

0 commit comments

Comments
 (0)