From 1bce8a854bc157e20c156c57b85bbab999e2c539 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Bj=C3=B8rn=20Erik=20Pedersen?=
 <bjorn.erik.pedersen@gmail.com>
Date: Thu, 11 Aug 2016 22:57:17 +0200
Subject: [PATCH] Create a copy of the section node for RSS

So the Permalink gets correct when listing translations.

I have also checked the other relevant places to make sure we do not overwrite node values we need later.

Pointers can be tricky, but lesson learned is: A copy is cheap.

Updates #2309
---
 hugolib/site.go | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/hugolib/site.go b/hugolib/site.go
index 94c9efab..aa89b692 100644
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -1855,9 +1855,11 @@ func (s *Site) renderSectionLists(prepare bool) error {
 		if !viper.GetBool("DisableRSS") && section != "" {
 			// XML Feed
 			rssuri := viper.GetString("RSSUri")
-			s.setURLs(n, section+"/"+rssuri)
+			c := *n
+			rssNode := &c
+			s.setURLs(rssNode, section+"/"+rssuri)
 			rssLayouts := []string{"section/" + section + ".rss.xml", "_default/rss.xml", "rss.xml", "_internal/_default/rss.xml"}
-			if err := s.renderAndWriteXML("section "+section+" rss", n.addLangPathPrefix(section+"/"+rssuri), n, s.appendThemeTemplates(rssLayouts)...); err != nil {
+			if err := s.renderAndWriteXML("section "+section+" rss", rssNode.addLangPathPrefix(section+"/"+rssuri), rssNode, s.appendThemeTemplates(rssLayouts)...); err != nil {
 				return err
 			}
 		}
-- 
2.30.2