| 123456789101112131415161718192021222324252627282930313233343536 |
- #!/bin/bash
- set -e
- TEMPLATES_EXTENDING_META_BLOCK=$(\
- grep \
- --files-with-matches \
- --recursive locales/ \
- --regex "'" \
- || echo "all-good"
- )
- if [[ "$TEMPLATES_EXTENDING_META_BLOCK" == "all-good" ]]; then
- exit 0
- fi
- for file in ${TEMPLATES_EXTENDING_META_BLOCK}; do
- cat <<MSG >&2
- ERROR: $file contains a locale with a single quote.
- ---
- $(grep "$file" --regex "'")
- ---
- Using single quotes in locales can lead to Angular XSS.
- You will need to replace the quote with a similar looking character.
- ’ (\u2019) is a good candidate.
- Links:
- - https://en.wikipedia.org/wiki/Right_single_quotation_mark
- - https://github.com/overleaf/issues/issues/4478
- MSG
- exit 1
- done
|