summaryrefslogtreecommitdiff
path: root/source/xap/gnuchess/eboard.assert.diff
diff options
context:
space:
mode:
Diffstat (limited to 'source/xap/gnuchess/eboard.assert.diff')
-rw-r--r--source/xap/gnuchess/eboard.assert.diff41
1 files changed, 41 insertions, 0 deletions
diff --git a/source/xap/gnuchess/eboard.assert.diff b/source/xap/gnuchess/eboard.assert.diff
new file mode 100644
index 00000000..18235931
--- /dev/null
+++ b/source/xap/gnuchess/eboard.assert.diff
@@ -0,0 +1,41 @@
+--- ./ntext.cc.orig 2008-02-22 09:51:22.000000000 -0600
++++ ./ntext.cc 2010-02-19 21:53:58.000000000 -0600
+@@ -33,6 +33,7 @@
+ #include <gtk/gtkselection.h>
+ #include "ntext.h"
+ #include "global.h"
++#include <assert.h>
+
+ NLine::NLine() {
+ Text = NULL;
+@@ -238,23 +239,27 @@
+ int i;
+ NLine *nl;
+ char *p;
++ char *s;
+
+ if (len < 0) {
+ discardExcess();
+ return;
+ }
+
+- p = strchr(text, '\n');
++ s = strdup(text);
++ assert(s != NULL);
++ p = strchr(s, '\n');
+ if (p!=NULL) {
+ *p = 0;
+- i = strlen(text);
+- nl = new NLine(text, color);
++ i = strlen(s);
++ nl = new NLine(s, color);
+ *p = '\n';
+ lines.push_back(nl);
+ formatLine(lines.size()-1);
+ append(&p[1], len-(i+1), color);
+ return;
+ }
++ free (s);
+
+ // if search for \n failed, this is a single line
+ nl = new NLine(text, color);