Skip to content

Commit

Permalink
rustdoc: Prevent JS injection from localStorage
Browse files Browse the repository at this point in the history
  • Loading branch information
Chad Norvell committed Jan 29, 2024
1 parent 021861a commit 32a0afe
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion src/librustdoc/html/static/js/storage.js
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 101,14 @@ const getVar = (function getVar(name) {
});

function switchTheme(newThemeName, saveTheme) {
const themeNames = getVar("themes").split(",").filter(t => t);
themeNames.push(...builtinThemes);

// Ensure that the new theme name is among the defined themes
if (themeNames.indexOf(newThemeName) === -1) {
return;
}

// If this new value comes from a system setting or from the previously
// saved theme, no need to save it.
if (saveTheme) {
Expand All @@ -115,7 123,7 @@ function switchTheme(newThemeName, saveTheme) {
window.currentTheme = null;
}
} else {
const newHref = getVar("root-path") newThemeName
const newHref = getVar("root-path") encodeURIComponent(newThemeName)
getVar("resource-suffix") ".css";
if (!window.currentTheme) {
// If we're in the middle of loading, document.write blocks
Expand Down

0 comments on commit 32a0afe

Please sign in to comment.