|
21 | 21 |
|
22 | 22 | package de.luhmer.owncloudnewsreader.reader.owncloud; |
23 | 23 |
|
| 24 | +import org.apache.commons.lang3.StringEscapeUtils; |
24 | 25 | import org.json.JSONException; |
25 | 26 | import org.json.JSONObject; |
26 | 27 |
|
@@ -69,21 +70,23 @@ private static RssItem parseItem(JSONObject e) throws JSONException { |
69 | 70 | RssItem rssItem = new RssItem(); |
70 | 71 | rssItem.setId(e.getLong("id")); |
71 | 72 | rssItem.setFeedId(e.optLong("feedId")); |
72 | | - rssItem.setLink(url); |
73 | | - rssItem.setTitle(e.optString("title")); |
74 | 73 | rssItem.setGuid(guid); |
75 | 74 | rssItem.setGuidHash(e.optString("guidHash")); |
76 | 75 | rssItem.setBody(content); |
77 | | - rssItem.setAuthor(e.optString("author")); |
78 | 76 | rssItem.setLastModified(new Date(e.optLong("lastModified"))); |
79 | | - rssItem.setEnclosureLink(enclosureLink); |
80 | | - rssItem.setEnclosureMime(enclosureMime); |
81 | 77 | rssItem.setRead(!e.optBoolean("unread")); |
82 | 78 | rssItem.setRead_temp(rssItem.getRead()); |
83 | 79 | rssItem.setStarred(e.optBoolean("starred")); |
84 | 80 | rssItem.setStarred_temp(rssItem.getStarred()); |
85 | 81 | rssItem.setPubDate(pubDate); |
86 | 82 |
|
| 83 | + //Possible XSS fields |
| 84 | + rssItem.setTitle(StringEscapeUtils.escapeHtml4(e.optString("title"))); |
| 85 | + rssItem.setAuthor(StringEscapeUtils.escapeHtml4(e.optString("author"))); |
| 86 | + rssItem.setLink(StringEscapeUtils.escapeHtml4(url)); |
| 87 | + rssItem.setEnclosureLink(StringEscapeUtils.escapeHtml4(enclosureLink)); |
| 88 | + rssItem.setEnclosureMime(StringEscapeUtils.escapeHtml4(enclosureMime)); |
| 89 | + |
87 | 90 | return rssItem; |
88 | 91 | /* |
89 | 92 | new RssItem(0, e.optString("id"), |
|
0 commit comments