[gnumeric] Names: improve check for circular names.
- From: Morten Welinder <mortenw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnumeric] Names: improve check for circular names.
- Date: Sat, 2 Jan 2016 00:28:30 +0000 (UTC)
commit 0cefc1658d3c781616389adbefad6df271d7af8e
Author: Morten Welinder <terra gnome org>
Date: Fri Jan 1 19:26:17 2016 -0500
Names: improve check for circular names.
ChangeLog | 5 +++++
NEWS | 1 +
src/expr-name.c | 11 ++++++++++-
3 files changed, 16 insertions(+), 1 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index a1fcb89..b9b2b30 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-01-01 Morten Welinder <terra gnome org>
+
+ * src/expr-name.c (expr_name_add): Improve check for circular name
+ defintion. Fixes #760046.
+
2015-12-28 Morten Welinder <terra gnome org>
* src/ssconvert.c (convert): When separating sheets, move current
diff --git a/NEWS b/NEWS
index 75f970d..c750fd1 100644
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,7 @@ Andreas:
Morten:
* Teach ssconvert to split sheets into separate .txt files [#694408]
* Improve test suite.
+ * Fuzzed file fix. [#760046]
--------------------------------------------------------------------------
Gnumeric 1.12.26
diff --git a/src/expr-name.c b/src/expr-name.c
index ae9614b..f17f527 100644
--- a/src/expr-name.c
+++ b/src/expr-name.c
@@ -711,7 +711,16 @@ expr_name_add (GnmParsePos const *pp, char const *name,
fake_name.str = name;
- if (texpr != NULL && expr_name_check_for_loop (name, texpr)) {
+ if (gnm_debug_flag ("names")) {
+ char *str = gnm_expr_top_as_string (texpr, pp, NULL);
+ g_printerr ("Adding Name=[%s] texpr=[%s] stub=[%s]\n",
+ name, str, stub ? expr_name_name (stub) : "-");
+ g_free (str);
+ }
+
+ if (texpr != NULL &&
+ (expr_name_check_for_loop (name, texpr) ||
+ (stub && expr_name_check_for_loop (expr_name_name (stub), texpr)))) {
gnm_expr_top_unref (texpr);
if (error_msg)
*error_msg = g_strdup_printf (_("'%s' has a circular reference"), name);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]