Skip to content
This repository was archived by the owner on Jan 23, 2025. It is now read-only.

Commit 2651cc0

Browse files
authored
Merge pull request #334 from skyhit/sanitize_challenge_properties
sanitize challenge properties before saving
2 parents 37e8286 + e03005f commit 2651cc0

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

components/project_management/build.xml

+2
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@
143143
<property name="junit.jar" value="${ext_libdir}/junit/3.8.2/junit.jar"/>
144144
<property name="j2ee.jar" value="${ext_libdir}/j2ee/j2ee.jar"/>
145145
<property name="ifxjdbc.jar" value="${ext_libdir}/informix/ifxjdbc.jar"/>
146+
<property name="encoder-1.2.1.jar" value="${ext_libdir}/owasp/encoder-1.2.1.jar"/>
146147

147148
<!-- Java Locations -->
148149
<property name="java_1_3_bootclasspath" value="c:\program files\JavaSoft\JRE\1.3.1\lib\rt.jar"/>
@@ -160,6 +161,7 @@
160161
<pathelement location="${jaxb-api.jar}"/>
161162
<pathelement location="${j2ee.jar}"/>
162163
<pathelement location="${ifxjdbc.jar}"/>
164+
<pathelement location="${encoder-1.2.1.jar}"/>
163165
<pathelement location="${logging_wrapper.jar}" />
164166
<pathelement location="${typesafe_enum.jar}" />
165167
<pathelement location="${data_validation.jar}" />

components/project_management/src/java/main/com/topcoder/management/project/persistence/AbstractInformixProjectPersistence.java

+7-4
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@
6767
import com.topcoder.util.sql.databaseabstraction.CustomResultSet;
6868
import com.topcoder.util.sql.databaseabstraction.InvalidCursorStateException;
6969
import com.topcoder.util.sql.databaseabstraction.NullColumnValueException;
70+
import org.owasp.encoder.Encode;
7071

7172
/**
7273
* <p>
@@ -5985,13 +5986,15 @@ private void createProjectProperties(Long projectId, Project project, Map idValu
59855986
for (Iterator it = idValueMap.entrySet().iterator(); it.hasNext();) {
59865987
Entry entry = (Entry) it.next();
59875988

5989+
Long key = (Long) entry.getKey();
5990+
String value = (String) entry.getValue();
5991+
value = Encode.forHtml(value);
59885992
// insert the project property into database
5989-
Object[] queryArgs = new Object[] {projectId, entry.getKey(),
5990-
entry.getValue(), operator, operator };
5993+
Object[] queryArgs = new Object[] {projectId, key,
5994+
value, operator, operator };
59915995
Helper.doDMLQuery(preparedStatement, queryArgs);
59925996

5993-
auditProjectInfo(conn, projectId, project, AUDIT_CREATE_TYPE, (Long) entry.getKey(),
5994-
(String) entry.getValue());
5997+
auditProjectInfo(conn, projectId, project, AUDIT_CREATE_TYPE, key, value);
59955998
}
59965999

59976000
} catch (SQLException e) {

0 commit comments

Comments
 (0)