Skip to content

Commit b76b42c

Browse files
committed
Encoded AppId in post request made on User App page
1 parent b5c4395 commit b76b42c

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

omod/src/main/java/org/openmrs/module/referenceapplication/page/controller/UserAppPageController.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
import javax.servlet.http.HttpSession;
1717

18+
import org.apache.commons.lang.StringEscapeUtils;
1819
import org.apache.commons.logging.Log;
1920
import org.apache.commons.logging.LogFactory;
2021
import org.codehaus.jackson.map.ObjectMapper;
@@ -52,27 +53,28 @@ public void get(PageModel model, @RequestParam(value = "appId", required = false
5253
public String post(PageModel model, @ModelAttribute(value = "appId") @BindParams UserApp userApp,
5354
@RequestParam("action") String action,
5455
@SpringBean("appFrameworkService") AppFrameworkService service, HttpSession session, UiUtils ui) {
55-
56+
57+
String htmlSafeAppId = StringEscapeUtils.escapeHtml(userApp.getAppId());
5658
try {
5759
AppDescriptor descriptor = mapper.readValue(userApp.getJson(), AppDescriptor.class);
58-
if (!userApp.getAppId().equals(descriptor.getId())) {
60+
if (!htmlSafeAppId.equals(descriptor.getId())) {
5961
session.setAttribute(UiCommonsConstants.SESSION_ATTRIBUTE_ERROR_MESSAGE,
6062
ui.message("referenceapplication.app.errors.IdsShouldMatch"));
61-
} else if ("add".equals(action) && service.getUserApp(userApp.getAppId()) != null) {
63+
} else if ("add".equals(action) && service.getUserApp(htmlSafeAppId) != null) {
6264
session.setAttribute(UiCommonsConstants.SESSION_ATTRIBUTE_ERROR_MESSAGE,
6365
ui.message("referenceapplication.app.errors.duplicateAppId"));
6466
} else {
6567
service.saveUserApp(userApp);
6668

6769
InfoErrorMessageUtil.flashInfoMessage(session,
68-
ui.message("referenceapplication.app.userApp.save.success", userApp.getAppId()));
70+
ui.message("referenceapplication.app.userApp.save.success", htmlSafeAppId));
6971

7072
return "redirect:/referenceapplication/manageApps.page";
7173
}
7274
}
7375
catch (Exception e) {
7476
session.setAttribute(UiCommonsConstants.SESSION_ATTRIBUTE_ERROR_MESSAGE,
75-
ui.message("referenceapplication.app.userApp.save.fail", userApp.getAppId()));
77+
ui.message("referenceapplication.app.userApp.save.fail", htmlSafeAppId));
7678
}
7779

7880
model.addAttribute("userApp", userApp);

0 commit comments

Comments
 (0)