hugo/hugolib
Bjørn Erik Pedersen 4e14cf7607
Fail with error when double-rendering text in markdownify/RenderString
This commit prevents the most commons case of infinite recursion in link render hooks when the `linkify` option is enabled (see below). This is always a user error, but getting a `stack overflow` (the current stack limit in Go is 1 GB on 64-bit, 250 MB on 32-bit) error isn't very helpful. This fix will not prevent all such errors, though, but we may do better once #9570 is in place.

So, these will fail:

```
<a href="{{ .Destination | safeURL }}" >{{ .Text | markdownify }}</a>
<a href="{{ .Destination | safeURL }}" >{{ .Text | .Page.RenderString }}</a>
```

`.Text` is already rendered to `HTML`. The above needs to be rewritten to:

```
<a href="{{ .Destination | safeURL }}" >{{ .Text | safeHTML }}</a>
<a href="{{ .Destination | safeURL }}" >{{ .Text | safeHTML }}</a>
```

Fixes #8959
2022-03-10 08:19:03 +01:00
..
assets/images
filesystems
paths
testdata
testsite
404_test.go
alias.go
alias_test.go Add lang attribute to internal alias template 2022-03-09 19:06:59 +01:00
breaking_changes_test.go
cascade_test.go
case_insensitive_test.go
codeowners.go
collections.go
collections_test.go
config.go
config_test.go
configdir_test.go
content_factory.go
content_factory_test.go
content_map.go
content_map_page.go
content_map_test.go
content_render_hooks_test.go
datafiles_test.go
dates_test.go
disableKinds_test.go
embedded_shortcodes_test.go
embedded_templates_test.go
fileInfo.go
fileInfo_test.go
gitinfo.go
hugo_modules_test.go
hugo_sites.go
hugo_sites_build.go
hugo_sites_build_errors_test.go
hugo_sites_build_test.go Add lang attribute to internal alias template 2022-03-09 19:06:59 +01:00
hugo_sites_multihost_test.go
hugo_sites_rebuild_test.go
hugo_smoke_test.go
image_test.go
integrationtest_builder.go
language_content_dir_test.go
language_test.go
menu_test.go
minify_publisher_test.go
mount_filters_test.go
multilingual.go
page.go
page__common.go
page__content.go
page__data.go
page__menus.go
page__meta.go
page__new.go
page__output.go
page__paginator.go
page__paths.go
page__per_output.go Fail with error when double-rendering text in markdownify/RenderString 2022-03-10 08:19:03 +01:00
page__position.go
page__ref.go
page__tree.go
page_kinds.go
page_permalink_test.go
page_test.go Add lang attribute to internal alias template 2022-03-09 19:06:59 +01:00
page_unwrap.go
page_unwrap_test.go
pagebundler_test.go
pagecollections.go
pagecollections_test.go
pages_capture.go
pages_capture_test.go
pages_language_merge_test.go
pages_process.go
pages_test.go
paginator_test.go
permalinker.go
prune_resources.go
resource_chain_test.go
robotstxt_test.go
rss_test.go
securitypolicies_test.go
shortcode.go
shortcode_page.go
shortcode_test.go
site.go
site_benchmark_new_test.go
site_output.go
site_output_test.go
site_render.go
site_sections.go
site_sections_test.go
site_stats_test.go
site_test.go
site_url_test.go
siteJSONEncode_test.go
sitemap_test.go
taxonomy.go
taxonomy_test.go
template_test.go
testhelpers_test.go
translations.go