- Fixed a newly introduced bug. When the decryptor sequence unfolding

code was added (two weeks ago), bindings were changed without changing
  the state of the graph closure buffer. This resulted in possible
  missed loops: thus, reports of broken claims could be found in the
  output, in inconsistent states. (Reported bij Gijs Hollestelle.)
  Note that this only influences the current development release, and
  not any previous results.
This commit is contained in:
ccremers 2005-06-08 13:51:40 +00:00
parent 1bdaf7b5d9
commit 013afc99aa

View File

@ -716,28 +716,25 @@ bindings_c_minimal ()
{ {
List bl; List bl;
// Ensure a state graph // Ensure a fresh state graph
if (graph == NULL) goal_graph_create ();
// Recompute closure; does that work?
if (!warshall (graph, nodes))
{ {
goal_graph_create (); List l;
// Recompute closure; does that work?
if (!warshall (graph, nodes)) globalError++;
l = sys->bindings;
while (l != NULL)
{ {
List l; Binding b;
globalError++; b = (Binding) l->data;
l = sys->bindings; binding_print (b);
while (l != NULL) eprintf ("\n");
{ l = l->next;
Binding b;
b = (Binding) l->data;
binding_print (b);
eprintf ("\n");
l = l->next;
}
error ("Detected a cycle when testing for c-minimality");
} }
error ("Detected a cycle when testing for c-minimality");
} }
// For all goals // For all goals