From e104be61fc5cf403f99b318a532040f886edd522 Mon Sep 17 00:00:00 2001
From: echicken <echicken@bbs.electronicchicken.com>
Date: Wed, 23 Nov 2016 09:07:27 -0500
Subject: [PATCH] Enforce a maximum length (LEN_TITLE) on poll subject,
 comments, and answers.

---
 web/lib/forum.js     | 10 +++++++---
 web/root/js/forum.js |  4 ++--
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/web/lib/forum.js b/web/lib/forum.js
index 89d7e49510..0f096d3d47 100644
--- a/web/lib/forum.js
+++ b/web/lib/forum.js
@@ -499,7 +499,7 @@ function postPoll(sub, subject, votes, results, answers, comments) {
     }
 
     var header = {
-        subject : subject,
+        subject : subject.substr(0, LEN_TITLE),
         from : msg_area.sub[sub].settings&SUB_NAME ? user.name : user.alias,
         from_ext : user.number,
         field_list : [],
@@ -510,14 +510,18 @@ function postPoll(sub, subject, votes, results, answers, comments) {
     if (Array.isArray(comments)) {
         comments.forEach(
             function (e) {
-                header.field_list.push({ type : SMB_COMMENT, data : e });
+                header.field_list.push(
+                    { type : SMB_COMMENT, data : e.substr(0, LEN_TITLE) }
+                );
             }
         );
     }
 
     answers.forEach(
         function (e) {
-            header.field_list.push({ type : SMB_POLL_ANSWER, data : e });
+            header.field_list.push(
+                { type : SMB_POLL_ANSWER, data : e.substr(0, LEN_TITLE) }
+            );
         }
     );
 
diff --git a/web/root/js/forum.js b/web/root/js/forum.js
index 77678b36ce..d32cd3e518 100644
--- a/web/root/js/forum.js
+++ b/web/root/js/forum.js
@@ -192,7 +192,7 @@ function addPollField(type, elem) {
 				(type === 'answer' ? 'Answer' : 'Comment') +
 			'</label>' +
 			'<div class="col-sm-9">' +
-				'<input id="' + prefix + '-' + number + '" class="form-control" name="' + prefix + '-input" type="text"> ' +
+				'<input id="' + prefix + '-' + number + '" class="form-control" name="' + prefix + '-input" type="text" maxlength="70"> ' +
 			'</div>' +
 			'<div class="col-sm-1">' +
 				'<button type="button" class="btn btn-danger" onclick="$(\'#' + prefix + '-container-' + number + '\').remove()">' +
@@ -217,7 +217,7 @@ function addPoll(sub) {
 				'<div class="form-group">' +
 					'<label for="newpoll-subject" class="col-sm-2 control-label">Question</label>' +
 					'<div class="col-sm-10">' +
-						'<input id="newpoll-subject" class="form-control" type="text" placeholder="Required">' +
+						'<input id="newpoll-subject" class="form-control" type="text" placeholder="Required" maxlength="70">' +
 					'</div>' +
 				'</div>' +
 				'<div id="newpoll-comment-group"></div>' +
-- 
GitLab