From c52643df21e4b4ad12e5c1aa7d4e05c45c852326 Mon Sep 17 00:00:00 2001
From: Jared Hancock <jared@osticket.com>
Date: Fri, 30 May 2014 18:58:15 -0500
Subject: [PATCH] Detect and squelch loops in topic relationships

---
 include/class.topic.php | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/include/class.topic.php b/include/class.topic.php
index 7ef0ad412..2c9fff508 100644
--- a/include/class.topic.php
+++ b/include/class.topic.php
@@ -212,8 +212,12 @@ class Topic {
             if ($publicOnly && !$info['public'])
                 continue;
             $name = $info['topic'];
+            $loop = array($id=>true);
             while ($info['pid'] && ($info = $topics[$info['pid']])) {
                 $name = sprintf('%s / %s', $info['topic'], $name);
+                if (isset($loop[$info['pid']]))
+                    break;
+                $loop[$info['pid']] = true;
             }
             $names[$id] = $name;
         }
-- 
GitLab