Результат код-ревью #1 (критическое): o.operation вставлялся в onclick и innerHTML без экранирования. Исправлено: JS-escape для onclick (\\, \'), HTML-escape для текста.
Результат код-ревью #1 (критическое): o.operation вставлялся в onclick и innerHTML без экранирования. Исправлено: JS-escape для onclick (\\, \'), HTML-escape для текста.