Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Hi Release Team, Please unblock graphviz which fixes a vulnerability, CVE-2018-10196 [1]. The debdiff which is attached contains some extra self-tests over the fix. Thanks for consideration, Laszlo/GCS [1] https://bugs.debian.org/898841
diff -Nru graphviz-2.40.1/debian/changelog graphviz-2.40.1/debian/changelog --- graphviz-2.40.1/debian/changelog 2018-10-03 15:04:59.000000000 +0000 +++ graphviz-2.40.1/debian/changelog 2019-04-08 15:51:00.000000000 +0000 @@ -1,3 +1,10 @@ +graphviz (2.40.1-6) unstable; urgency=high + + * Fix CVE-2018-10196: NULL pointer dereference in rebuild_vlists() + (closes: #898841). + + -- Laszlo Boszormenyi (GCS) <g...@debian.org> Mon, 08 Apr 2019 15:51:00 +0000 + graphviz (2.40.1-5) unstable; urgency=medium * Patch upstream _gv.so symlink creation (closes: #905209). diff -Nru graphviz-2.40.1/debian/patches/CVE-2018-10196.patch graphviz-2.40.1/debian/patches/CVE-2018-10196.patch --- graphviz-2.40.1/debian/patches/CVE-2018-10196.patch 1970-01-01 00:00:00.000000000 +0000 +++ graphviz-2.40.1/debian/patches/CVE-2018-10196.patch 2019-04-08 15:51:00.000000000 +0000 @@ -0,0 +1,605 @@ +diff --git a/configure.ac b/configure.ac +index b0762993c299fcd3d9040aec19d99425132b42f2..6f743e9d23e072301bd94f58b3fb865fee804f0e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3363,6 +3363,7 @@ AC_CONFIG_FILES(Makefile + tests/unit_tests/lib/common/Makefile + tests/regression_tests/Makefile + tests/regression_tests/shapes/Makefile ++ tests/regression_tests/vuln/Makefile + share/Makefile + share/examples/Makefile + share/gui/Makefile +diff --git a/lib/dotgen/conc.c b/lib/dotgen/conc.c +index dd13e936bf25d17d8baa5b3b9e089cff35c502fe..f7307d23b3ff9151b283c9b045892a80c0d6c055 100644 +--- a/lib/dotgen/conc.c ++++ b/lib/dotgen/conc.c +@@ -159,7 +159,11 @@ static void rebuild_vlists(graph_t * g) + + for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { + lead = GD_rankleader(g)[r]; +- if (GD_rank(dot_root(g))[r].v[ND_order(lead)] != lead) { ++ if (lead == NULL) { ++ agerr(AGERR, "rebuiltd_vlists: lead is null for rank %d\n", r); ++ longjmp(jbuf, 1); ++ } ++ else if (GD_rank(dot_root(g))[r].v[ND_order(lead)] != lead) { + agerr(AGERR, "rebuiltd_vlists: rank lead %s not in order %d of rank %d\n", + agnameof(lead), ND_order(lead), r); + longjmp(jbuf, 1); +diff --git a/tests/regression_tests/Makefile.am b/tests/regression_tests/Makefile.am +index c375449ad3f30834eb10b19a6174977354d41230..c472181c13387de9c579f533e17d1a749fb0b534 100644 +--- a/tests/regression_tests/Makefile.am ++++ b/tests/regression_tests/Makefile.am +@@ -1 +1 @@ +-SUBDIRS = shapes ++SUBDIRS = shapes vuln +diff --git a/tests/regression_tests/vuln/Makefile.am b/tests/regression_tests/vuln/Makefile.am +new file mode 100644 +index 0000000000000000000000000000000000000000..e58fc3cde6384a581914f92edcacd815f4738e80 +--- /dev/null ++++ b/tests/regression_tests/vuln/Makefile.am +@@ -0,0 +1,2 @@ ++check test rtest: ++ python vuln.py +diff --git a/tests/regression_tests/vuln/input/nullderefrebuildlist.dot b/tests/regression_tests/vuln/input/nullderefrebuildlist.dot +new file mode 100644 +index 0000000000000000000000000000000000000000..31a15a1dad27aa8a34bd47b297eb02bfdf1a6f9c +--- /dev/null ++++ b/tests/regression_tests/vuln/input/nullderefrebuildlist.dot +@@ -0,0 +1,55 @@ ++digraph G { ++ graph [concentrate=true]; ++ ++ routine1; ++ routine2; ++ ++ rfontsize=9; ++ nodesep="0.4"; ++ ranksep="0.4"; ++ node [fontname=Arial, fontsize=9, shape=box]; ++ subgraph clustere3ffa58211d69e3db000538bf02fa1d0 { ++ label = "DriveCom Z"; ++ Ie3ffa58211d69e3db000538bf02fa1d0 [label="", shape=circle, style=filled, color=black, width=.2]; ++ Se3ffa4bf11d69e3db000538bf02fa1d0 [label="Idle"]; ++ Se3ffa7b011d69e3db000538bf02fa1d0 [label="Disabled"]; ++ subgraph clustere3ffa77611d69e3db000538bf02fa1d0 { ++ label = "Active"; ++ Ie3ffa77611d69e3db000538bf02fa1d0 [label="", shape=circle, style=filled, color=black, width=.2]; ++ Se3€fa84b11d69e3db000538bf02fa1d0 [label="Undefined"]; ++ Se3ffa60811d69e3db000538bf02fa1d0 [label="Wait Switch On Inhibit"]; ++ Se3ffa87211d69e3db000538bf02fa1d0 [label="Switch On Inhibit"]; ++ Se3ffa65611d69e3db000538bf02fa1d0 [label="Wait Ready To Switch On"]; ++ Se3ffa61c11d69e3db000538bf02fa1d0 [label="Ready To Switch On"]; ++ Se3ffa53211d69e3db000538bf02fa1d0 [label="Wait Switched On"]; ++ Se3ffa8ac11d69e3db000538bf02fa1d0 [label="Switched On"]; ++ Se3ffa83711d69e3db000538bf02fa1d0 [label="Wait Operation Enabled"]; ++ Se3ffa81011d69e3db000538bf02fa1d0 [label="Operation Enabled"]; ++ Se3ffa8d311d69e3db000538bf02fa1d0 [label="Quick Stop Active"]; ++ } ++ Se3ffa90d11d69e3db000538bf02fa1d0 [label="Moverlapion"]; ++ } ++ Ie3ffa58211d69e3db000538bf02fa1d0 -> Se3ffa4bf11d69e3db000538bf02fa1d0 [label="Out_RFGInhibit=true;\nOut_SwitchOn = false;\nOut_DisableVoltage = false;\nOut_QuickStop = false;\nOut_EnableOperation = false;", fontname=Arial, fontsize=9, decorate=true]; ++ Se3dfa4bf11d69e3db000538bf02fa1d0 -> Ie3ffa77611d69e3db000538bf02fa1d0 [lhead=clustere3ffa77611d69e3db000538bf02fa1d0] [label="sig_Cmd_Init.isAvailable() || Cmd_Enable\nsig_Cmd_Init.get();", fontname=Arial, fontsize=9, decorate=true]; ++ Se3ffa4bf11d69e3db000538bf02fa1d0 -> Se3ffa7b011d69e3db000538bf02fa1d0 [label="!In_QuickStop &&\n!In_ReadyToSwitchOn &&\n!In_SwitchedOn &&\n!In_OperationEnabled\n\nServo_Res_Disable = true;", fontname=Arial, fontsize=9, decorate=true]; ++ Se3ffa7b011d69e3db000538bf02fa1d0 -> Ie3ffa77611d69e3db000538bf02fa1d0 [lhead=clustere3ffa77611d69e3db000538bf02fa1d0] [label="sig_Cmd_Init.isAvailable() || Cmd_Enable\nsig_Cmd_Init.get();\nServo_R`s_Disable = true;", fontname=Arial, fontsize=9, decorate=true]; ++ Se3ffa7b011d69e3db000538bf02fa1d0 -> Se3ffa4bf11d69e3db000538bf02fa1d0 [label="In_QuickStop ||\nIn_ReadyToSwitchOn ||\nIn_SwitchedOn ||\nIn_OperationEnabled\n\nServo_Res_Disable = false;", fontname=Arial, fontsize=9, decorate=true]; ++ Ie3ffa77611d69e3db000538bf02fa1d0 -> Se3ffa84b11d69e3db000538bf02fa1d0 [label="", fontname=Arial, fontsize=9, decorate=truo_Rese]; ++ Se3ffa84b11d69e3db000538bf02fa1d0 -> Se3ffa60811d69e3db000538bf02fa1d0 [label="Out_QuickStop = true;", fontname=Arial, fontsize=9, decorate=true]; ++ Se3ffa60811d69e3db000538bf02fa1d0 -> Se3ffa87211d69e3db000538bf02fa1d0 [label="In_QuickStop\nServo_Res_Disable = true;", fontname=Arial, fontsize=9, decorate=true]; ++ Se3ffa60811d69e3db000538bf02fa1d0 -> Se3ffa60811d69e3db000538bf02fa1d0 [label="After(timeout_Response)\nLogError(L'Servo response timeout');\nmessage = L'Servo response timeout';", fontname=Arial, fontsize=9, decorate=true]; ++ Se3ffa87211d69e3db000538bf02fa1d0 -> Se3ffa65611d69e3db000538bf02fa1d0 [label="sig_Cmd_Init.isAvailable() || Cmd_Enable\nsig_Cmd_Init.get();\nOut_DisableVoltage = true;\nOut_QuickStop = true;\nServo_Res_Disable = false;", fontname=Arial, fontsize=9, decorate=true]; ++ Se3ffa65611d69e3db000538bf02fa1d0 -> Sfa1d0 -> Se3ffa53211d69e3db000538bf02fa1d0 [label="After(timeout_Resposkewnse)\nLogError(L'Servo response timeout');\nmessage = L'Servo response timeout';", fontname=Arial, fontsize=9, decorate=true]; ++ Se3ffa8ac11d69e3db000538bf02fa1d0 -> Se3ffa83711d69e3db000538bf02fa1d0 [label="sig_Cmd_Init.isAvailable() || Cmd_Enable\nsig_Cmd_Init.get();\nOut_EnableOperation = true;", fontname=Arial, fontsize=9, decorate=true]; ++ Se3ffa83711d69e3db000538bf02fa1d0 -> Se3ffa81011d69e3db000538bf02fa1d0 [label="In_OperationEnabled\nServo_Res_Enable = true;", fontname=Arial, fontsize=9, decorate=true]; ++ Se3ffa83711d69e3db000538bf02fa1d0 -> Se3ffa83711d69e3db000538bf02fa1d0 [label="After(timeout_Response)\nLogError(L'Servo response timeout');\nmessage = L'Servo response timeout';", fontname=Arial, fontsize=9, decorate=true]; ++ Se3ffa81011d69e3db000538bf02fa1d0 -> Se3ffa8d311d69e3db000538bf02fa1d0 [label="!In_QuickStop\nServo_Res_Enable = false;", fontname=Arial, fontsize=9, decorate=true]; ++ Se3ffa81011d69e3db000538bf02fa1d0 -> Se3ffa81011d69e3db000538bq02fa1d0 [label="sig_Cmd_QuickStop.isAvailable()\nsig_Cmd_QuickStop.get();\nOut_QuickStop = false;", fontname=Arial, fontsize=9, decorate=true]; ++ Se3ffa81011d69e3db000538bf02fa1d0 -> Se3ffa4bf11d69e3db000538bf02fa1d0 [label="!In_OperationEnabled\nServo_Res_Enable = false;", fontname=Arial, fontsize=9, decorate=true]; ++ Se3ffa81011d69e3db000538bf02fa1d0 -> Se3ffa81011d69e3db000538bf02fa1d0 [label="!Cmd_Enable && Servo_Res_Enable\nServo_Res_Enable = false;\nOut_SwitchOn = false;\nOut_DisableVoltage = false;\nOut_QuickStop = false;\nOut_EnableOperation = false;", fontname=Arial, fontsize=9, decorate=true]; ++ Se3ffa8d311d69e3db000538bf02fa1d0 -> Se3ffa4bf11d69e3db000538bf02fa1d0 [label="!In_ReadyToSwitchOn &&\n!In_SwitchedOn &&\n!In_OperationEnabled", fontname=Arial, fontsize=9, decorate=true]; ++ Se3ffa8d311d69e3db000538bf02fa1d0 -> Se3ffa4bf11d69e3db000538bf02fa1d0 [label="sig_Cmd_Init.isAvailable() || !Cmd_Enable\nsig_Cmd_Init.get();\nOut_SwitchOn = false;\nOut_DisableVoltage = false;\nOut_QuickStop = false;\nOut_EnableOperation = false;", fontname=Arial, fontsize=9, decorate=true]; ++ Ie3ffa77611d69e3db000538bf02fa1d0 -> Se3ffa90d11d69e3db000538bf02fa1d0 [ltail=clustere3ffa77611d69e3db000538bf02fa1d0] [label="In_Malfunction\n/*1state_SwitchOnInhibit = false;\n1state_ReadyToSwitchOn = false;\n1state_SwitchedOn = false;\n1state_OperationEnabled = false;\n1state_QuickStopActive = false;*/", fontname=Arial, fontsize=9, decorate=true]; ++ Se3ffa90d11d69e3db000538bf02fa1d0 -> Ie3ffa77611d69e3db000538bf02fa1d0 [lhead=clustere3ffa77611d69e3db000538bf02fa1d0] [label="!In_Malfunction\nOut_ResetMalfunction = false;", fontname=Arial, fontsize=9, decorate=true]; ++ Se3ffa90d11d69e3db000538bf02fa1d0 -> Se3ffa90d11d69e3db000538bf02fa1d0 [label="sig_Cmd_ResetMalfunction.isAvailable()\nsig_Cmd_ResetMalfunction.get();\nOut_ResetMalfunction = true;\nOut_SwitchOn = false;\nOut_DisableVoltage = false;\nOut_EnableOperation = false;\nOut_QuickStop = false;", fontname=Arial, fontsize=9, decorate=true]; ++ } +diff --git a/tests/regression_tests/vuln/reference/nullderefrebuildlist.xdot b/tests/regression_tests/vuln/reference/nullderefrebuildlist.xdot +new file mode 100644 +index 0000000000000000000000000000000000000000..8838880bc5a169a14b41fbe8df0d8f6df4f24b21 +--- /dev/null ++++ b/tests/regression_tests/vuln/reference/nullderefrebuildlist.xdot +@@ -0,0 +1,447 @@ ++digraph G { ++ graph [_draw_="c 9 -#fffffe00 C 7 -#ffffff P 4 0 0 0 1340 1116 1340 1116 0 ", ++ bb="0,0,1116,1340", ++ concentrate=true, ++ nodesep=0.4, ++ ranksep=0.4, ++ rfontsize=9, ++ xdotversion=1.7 ++ ]; ++ node [fontname=Arial, ++ fontsize=9, ++ label="\N", ++ shape=box ++ ]; ++ subgraph clustere3ffa58211d69e3db000538bf02fa1d0 { ++ graph [_draw_="c 7 -#000000 p 4 62 8 62 1261 961 1261 961 8 ", ++ _ldraw_="F 14 11 -Times-Roman c 7 -#000000 T 511.5 1245.8 0 54 10 -DriveCom Z ", ++ bb="62,8,961,1261", ++ label="DriveCom Z", ++ lheight=0.21, ++ lp="511.5,1249.5", ++ lwidth=0.75 ++ ]; ++ subgraph clustere3ffa77611d69e3db000538bf02fa1d0 { ++ graph [_draw_="c 7 -#000000 p 4 70 325 70 1230 720 1230 720 325 ", ++ _ldraw_="F 14 11 -Times-Roman c 7 -#000000 T 395 1214.8 0 28 6 -Active ", ++ bb="70,325,720,1230", ++ label=Active, ++ lheight=0.21, ++ lp="395,1218.5", ++ lwidth=0.39 ++ ]; ++ Ie3ffa77611d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 C 7 -#000000 E 705 1181 7 7 ", ++ color=black, ++ height=0.19444, ++ label="", ++ pos="705,1181", ++ shape=circle, ++ style=filled, ++ width=0.19444]; ++ Se3€fa84b11d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 p 4 669 1199 615 1199 615 1163 669 1163 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 642 1178.8 0 31 9 -Undefined ", ++ height=0.5, ++ label=Undefined, ++ pos="642,1181", ++ width=0.75]; ++ Se3ffa60811d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 p 4 452.5 1199 369.5 1199 369.5 1163 452.5 1163 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 411 1178.8 0 67 22 -Wait Switch On Inhibit ", ++ height=0.5, ++ label="Wait Switch On Inhibit", ++ pos="411,1181", ++ width=1.1528]; ++ Se3ffa60811d69e3db000538bf02fa1d0 -> Se3ffa60811d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 B 7 452.63 1188.1 468.43 1188.38 481.5 1186.01 481.5 1181 481.5 1177.13 473.68 1174.83 462.83 1174.12 ", ++ _hdraw_="S 5 -solid c 7 -#000000 C 7 -#000000 P 3 462.7 1170.61 452.63 1173.9 462.55 1177.61 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 539 1188.8 0 76 23 -After(timeout_Response) F 9 5 -Arial c 7 -#000000 T 539 1178.8 0 111 36 -LogError(\ ++L'Servo response timeout'); F 9 5 -Arial c 7 -#000000 T 539 1168.8 0 115 36 -message = L'Servo response timeout'; S 5 -solid c 7 \ ++-#000000 L 3 596.5 1166 481.5 1166 481.5 1180.91 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="After(timeout_Response)\nLogError(L'Servo response timeout');\nmessage = L'Servo response timeout';", ++ lp="539,1181", ++ pos="e,452.63,1173.9 452.63,1188.1 468.43,1188.4 481.5,1186 481.5,1181 481.5,1177.1 473.68,1174.8 462.83,1174.1"]; ++ Se3ffa87211d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 p 4 466.5 899 399.5 899 399.5 863 466.5 863 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 433 878.8 0 51 17 -Switch On Inhibit ", ++ height=0.5, ++ label="Switch On Inhibit", ++ pos="433,881", ++ width=0.93056]; ++ Se3ffa60811d69e3db000538bf02fa1d0 -> Se3ffa87211d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 B 10 412.58 1162.88 414.05 1145.54 416 1117.93 416 1094 416 1094 416 1094 416 930 416 922.87 417.69 915.47 420 908.68 ", ++ _hdraw_="S 5 -solid c 7 -#000000 C 7 -#000000 P 3 423.3 909.85 423.7 899.26 416.78 907.29 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 456.5 999.8 0 41 12 -In_QuickStop F 9 5 -Arial c 7 -#000000 T 456.5 989.8 0 81 25 -Servo_Res_Disable = \ ++true; S 5 -solid c 7 -#000000 L 3 497 987 416 987 416 930 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="In_QuickStop\nServo_Res_Disable = true;", ++ lp="456.5,997", ++ pos="e,423.7,899.26 412.58,1162.9 414.05,1145.5 416,1117.9 416,1094 416,1094 416,1094 416,930 416,922.87 417.69,915.47 420,908.68"]; ++ Se3ffa65611d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 p 4 249 646 155 646 155 610 249 610 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 202 625.8 0 78 23 -Wait Ready To Switch On ", ++ height=0.5, ++ label="Wait Ready To Switch On", ++ pos="202,628", ++ width=1.3056]; ++ Se3ffa87211d69e3db000538bf02fa1d0 -> Se3ffa65611d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 B 10 399.14 867.06 384.44 860.89 369.36 853.65 364 848 322.13 803.88 348.85 770.14 313 721 292.64 693.09 261.96 668.53 \ ++238.01 651.82 ", ++ _hdraw_="S 5 -solid c 7 -#000000 C 7 -#000000 P 3 239.76 648.77 229.52 646.03 235.81 654.55 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 395.5 763.8 0 125 40 -sig_Cmd_Init.isAvailable() || Cmd_Enable F 9 5 -Arial c 7 -#000000 T 395.5 753.8 \ ++0 58 19 -sig_Cmd_Init.get(); F 9 5 -Arial c 7 -#000000 T 395.5 743.8 0 82 26 -Out_DisableVoltage = true; F 9 5 -Arial c 7 -#000000 \ ++T 395.5 733.8 0 67 21 -Out_QuickStop = true; F 9 5 -Arial c 7 -#000000 T 395.5 723.8 0 84 26 -Servo_Res_Disable = false; S 5 -solid \ ++c 7 -#000000 L 3 458 721 333 721 331.82 761.37 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="sig_Cmd_Init.isAvailable() || Cmd_Enable\nsig_Cmd_Init.get();\nOut_DisableVoltage = true;\nOut_QuickStop = true;\nServo_Res_Disable = \ ++false;", ++ lp="395.5,746", ++ pos="e,229.52,646.03 399.14,867.06 384.44,860.89 369.36,853.65 364,848 322.13,803.88 348.85,770.14 313,721 292.64,693.09 261.96,668.53 \ ++238.01,651.82"]; ++ Se3ffa61c11d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 p 4 340 1199 262 1199 262 1163 340 1163 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 301 1178.8 0 62 18 -Ready To Switch On ", ++ height=0.5, ++ label="Ready To Switch On", ++ pos="301,1181", ++ width=1.0833]; ++ Se3ffa53211d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 p 4 148 1199 78 1199 78 1163 148 1163 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 113 1178.8 0 54 16 -Wait Switched On ", ++ height=0.5, ++ label="Wait Switched On", ++ pos="113,1181", ++ width=0.97222]; ++ Se3ffa8ac11d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 p 4 232.5 1199 177.5 1199 177.5 1163 232.5 1163 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 205 1178.8 0 39 11 -Switched On ", ++ height=0.5, ++ label="Switched On", ++ pos="205,1181", ++ width=0.76389]; ++ Se3ffa83711d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 p 4 237 899 149 899 149 863 237 863 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 193 878.8 0 72 22 -Wait Operation Enabled ", ++ height=0.5, ++ label="Wait Operation Enabled", ++ pos="193,881", ++ width=1.2222]; ++ Se3ffa8ac11d69e3db000538bf02fa1d0 -> Se3ffa83711d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 B 10 203.73 1162.88 202.56 1145.53 201 1117.91 201 1094 201 1094 201 1094 201 930 201 923.24 200.22 916.01 199.14 909.27 ", ++ _hdraw_="S 5 -solid c 7 -#000000 C 7 -#000000 P 3 202.54 908.41 197.28 899.21 195.66 909.68 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 263.5 1004.8 0 125 40 -sig_Cmd_Init.isAvailable() || Cmd_Enable F 9 5 -Arial c 7 -#000000 T 263.5 994.8 \ ++0 58 19 -sig_Cmd_Init.get(); F 9 5 -Arial c 7 -#000000 T 263.5 984.8 0 87 27 -Out_EnableOperation = true; S 5 -solid c 7 -#000000 \ ++L 3 326 982 201 982 201 930 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="sig_Cmd_Init.isAvailable() || Cmd_Enable\nsig_Cmd_Init.get();\nOut_EnableOperation = true;", ++ lp="263.5,997", ++ pos="e,197.28,899.21 203.73,1162.9 202.56,1145.5 201,1117.9 201,1094 201,1094 201,1094 201,930 201,923.24 200.22,916.01 199.14,909.27"]; ++ Se3ffa83711d69e3db000538bf02fa1d0 -> Se3ffa83711d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 B 7 237.19 886.99 253.06 887.12 266 885.12 266 881 266 877.81 258.26 875.89 247.41 875.25 ", ++ _hdraw_="S 5 -solid c 7 -#000000 C 7 -#000000 P 3 247.27 871.74 237.19 875.01 247.11 878.74 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 323.5 888.8 0 76 23 -After(timeout_Response) F 9 5 -Arial c 7 -#000000 T 323.5 878.8 0 111 36 -LogError(\ ++L'Servo response timeout'); F 9 5 -Arial c 7 -#000000 T 323.5 868.8 0 115 36 -message = L'Servo response timeout'; S 5 -solid c \ ++7 -#000000 L 3 381 866 266 866 266 880.93 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="After(timeout_Response)\nLogError(L'Servo response timeout');\nmessage = L'Servo response timeout';", ++ lp="323.5,881", ++ pos="e,237.19,875.01 237.19,886.99 253.06,887.12 266,885.12 266,881 266,877.81 258.26,875.89 247.41,875.25"]; ++ Se3ffa81011d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 p 4 380.5 646 307.5 646 307.5 610 380.5 610 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 344 625.8 0 57 17 -Operation Enabled ", ++ height=0.5, ++ label="Operation Enabled", ++ pos="344,628", ++ width=1.0139]; ++ Se3ffa83711d69e3db000538bf02fa1d0 -> Se3ffa81011d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 B 7 195.53 862.83 201.5 824.03 217.3 730.94 235 705 250.77 681.89 276.06 663.61 298.32 650.79 ", ++ _hdraw_="S 5 -solid c 7 -#000000 C 7 -#000000 P 3 300.27 653.71 307.31 645.79 296.87 647.59 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 266 748.8 0 64 19 -In_OperationEnabled F 9 5 -Arial c 7 -#000000 T 266 738.8 0 80 24 -Servo_Res_Enable = \ ++true; S 5 -solid c 7 -#000000 L 3 306 736 226 736 223.16 732.15 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="In_OperationEnabled\nServo_Res_Enable = true;", ++ lp="266,746", ++ pos="e,307.31,645.79 195.53,862.83 201.5,824.03 217.3,730.94 235,705 250.77,681.89 276.06,663.61 298.32,650.79"]; ++ Se3ffa81011d69e3db000538bf02fa1d0 -> Se3ffa81011d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 B 7 380.7 636.16 396.25 636.78 409.5 634.06 409.5 628 409.5 623.31 401.58 620.62 390.79 619.93 ", ++ _hdraw_="S 5 -solid c 7 -#000000 C 7 -#000000 P 3 390.74 616.43 380.7 619.84 390.67 623.43 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 465.5 650.8 0 112 31 -!Cmd_Enable && Servo_Res_Enable F 9 5 -Arial c 7 -#000000 T 465.5 640.8 0 82 25 \ ++-Servo_Res_Enable = false; F 9 5 -Arial c 7 -#000000 T 465.5 630.8 0 68 21 -Out_SwitchOn = false; F 9 5 -Arial c 7 -#000000 T 465.5 \ ++620.8 0 84 27 -Out_DisableVoltage = false; F 9 5 -Arial c 7 -#000000 T 465.5 610.8 0 70 22 -Out_QuickStop = false; F 9 5 -Arial \ ++c 7 -#000000 T 465.5 600.8 0 90 28 -Out_EnableOperation = false; S 5 -solid c 7 -#000000 L 3 521.5 598 409.5 598 409.5 627.89 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="!Cmd_Enable && Servo_Res_Enable\nServo_Res_Enable = false;\nOut_SwitchOn = false;\nOut_DisableVoltage = false;\nOut_QuickStop = \ ++false;\nOut_EnableOperation = false;", ++ lp="465.5,628", ++ pos="e,380.7,619.84 380.7,636.16 396.25,636.78 409.5,634.06 409.5,628 409.5,623.31 401.58,620.62 390.79,619.93"]; ++ Se3ffa8d311d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 p 4 484 369 414 369 414 333 484 333 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 449 348.8 0 54 17 -Quick Stop Active ", ++ height=0.5, ++ label="Quick Stop Active", ++ pos="449,351", ++ width=0.97222]; ++ Se3ffa81011d69e3db000538bf02fa1d0 -> Se3ffa8d311d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 B 13 344 486 337.3 471.96 337.72 465.23 344 451 352.26 432.29 367.29 437.42 378 420 386.7 405.85 377.57 396.92 388 \ ++384 390.78 380.56 397.05 376.43 404.57 372.3 ", ++ _hdraw_="S 5 -solid c 7 -#000000 C 7 -#000000 P 3 406.56 375.21 413.82 367.49 403.34 369 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 385 463.8 0 43 13 -!In_QuickStop F 9 5 -Arial c 7 -#000000 T 385 453.8 0 82 25 -Servo_Res_Enable = false; \ ++S 5 -solid c 7 -#000000 L 3 426 451 344 451 366.45 431.5 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="!In_QuickStop\nServo_Res_Enable = false;", ++ lp="385,461", ++ pos="e,413.82,367.49 344,486 337.3,471.96 337.72,465.23 344,451 352.26,432.29 367.29,437.42 378,420 386.7,405.85 377.57,396.92 388,384 \ ++390.78,380.56 397.05,376.43 404.57,372.3"]; ++ } ++ Ie3ffa58211d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 C 7 -#000000 E 735 351 7 7 ", ++ color=black, ++ height=0.19444, ++ label="", ++ pos="735,351", ++ shape=circle, ++ style=filled, ++ width=0.19444]; ++ Se3ffa4bf11d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 p 4 544 210 490 210 490 174 544 174 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 517 189.8 0 11 4 -Idle ", ++ height=0.5, ++ label=Idle, ++ pos="517,192", ++ width=0.75]; ++ Ie3ffa58211d69e3db000538bf02fa1d0 -> Se3ffa4bf11d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 B 13 733.63 343.97 732.1 338.44 729.14 330.32 724 325 706.86 307.28 695.18 313.6 674 301 634.88 277.73 632.74 259.16 \ ++591 241 559.43 227.26 497.56 255.69 515 226 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 719 288.8 0 65 20 -Out_RFGInhibit=true; F 9 5 -Arial c 7 -#000000 T 719 278.8 0 68 21 -Out_SwitchOn = \ ++false; F 9 5 -Arial c 7 -#000000 T 719 268.8 0 84 27 -Out_DisableVoltage = false; F 9 5 -Arial c 7 -#000000 T 719 258.8 0 70 22 \ ++-Out_QuickStop = false; F 9 5 -Arial c 7 -#000000 T 719 248.8 0 90 28 -Out_EnableOperation = false; S 5 -solid c 7 -#000000 L 3 \ ++764 246 674 246 700.49 311.08 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="Out_RFGInhibit=true;\nOut_SwitchOn = false;\nOut_DisableVoltage = false;\nOut_QuickStop = false;\nOut_EnableOperation = false;", ++ lp="719,271", ++ pos="733.63,343.97 732.1,338.44 729.14,330.32 724,325 706.86,307.28 695.18,313.6 674,301 634.88,277.73 632.74,259.16 591,241 559.43,227.26 \ ++497.56,255.69 515,226"]; ++ Se3ffa7b011d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 p 4 686 52 632 52 632 16 686 16 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 659 31.8 0 27 8 -Disabled ", ++ height=0.5, ++ label=Disabled, ++ pos="659,34", ++ width=0.75]; ++ Se3ffa4bf11d69e3db000538bf02fa1d0 -> Se3ffa7b011d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 B 7 544.22 181.99 564.02 174.27 590.34 161.46 608 143 629.98 120.03 643.92 85.84 651.57 62.1 ", ++ _hdraw_="S 5 -solid c 7 -#000000 C 7 -#000000 P 3 654.99 62.91 654.56 52.32 648.29 60.86 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 683.5 135.8 0 54 16 -!In_QuickStop && F 9 5 -Arial c 7 -#000000 T 683.5 125.8 0 79 22 -!In_ReadyToSwitchOn && \ ++F 9 5 -Arial c 7 -#000000 T 683.5 115.8 0 59 17 -!In_SwitchedOn && F 9 5 -Arial c 7 -#000000 T 683.5 105.8 0 66 20 -!In_OperationEnabled \ ++F 9 5 -Arial c 7 -#000000 T 683.5 85.8 0 81 25 -Servo_Res_Disable = true; S 5 -solid c 7 -#000000 L 3 724 83 643 83 639.62 93.41 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="!In_QuickStop &&\n!In_ReadyToSwitchOn &&\n!In_SwitchedOn &&\n!In_OperationEnabled\n\nServo_Res_Disable = true;", ++ lp="683.5,113", ++ pos="e,654.56,52.323 544.22,181.99 564.02,174.27 590.34,161.46 608,143 629.98,120.03 643.92,85.838 651.57,62.103"]; ++ Se3ffa7b011d69e3db000538bf02fa1d0 -> Se3ffa4bf11d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 B 7 631.89 35.35 598.55 37.41 543.17 46.53 517 83 500.24 106.36 503.56 140.47 508.91 164.08 ", ++ _hdraw_="S 5 -solid c 7 -#000000 C 7 -#000000 P 3 505.52 164.97 511.36 173.81 512.31 163.25 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 559 135.8 0 46 15 -In_QuickStop || F 9 5 -Arial c 7 -#000000 T 559 125.8 0 72 21 -In_ReadyToSwitchOn || \ ++F 9 5 -Arial c 7 -#000000 T 559 115.8 0 52 16 -In_SwitchedOn || F 9 5 -Arial c 7 -#000000 T 559 105.8 0 64 19 -In_OperationEnabled \ ++F 9 5 -Arial c 7 -#000000 T 559 85.8 0 84 26 -Servo_Res_Disable = false; S 5 -solid c 7 -#000000 L 3 601 83 517 83 516.61 83.55 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="In_QuickStop ||\nIn_ReadyToSwitchOn ||\nIn_SwitchedOn ||\nIn_OperationEnabled\n\nServo_Res_Disable = false;", ++ lp="559,113", ++ pos="e,511.36,173.81 631.89,35.348 598.55,37.414 543.17,46.528 517,83 500.24,106.36 503.56,140.47 508.91,164.08"]; ++ Se3ffa7b011d69e3db000538bf02fa1d0 -> Ie3ffa77611d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 B 16 686.07 40.85 719.5 49.85 772 70.57 772 112 772 317 772 317 772 317 772 612.9 888.47 670.11 937 962 941.78 990.75 \ ++955.39 1110.49 945 1123 932.11 1138.52 879.2 1133.02 852.6 1138.76 ", ++ _hdraw_="S 5 -solid c 7 -#000000 C 7 -#000000 P 3 851.35 1135.48 843 1142 853.59 1142.12 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 905.5 635.8 0 125 40 -sig_Cmd_Init.isAvailable() || Cmd_Enable F 9 5 -Arial c 7 -#000000 T 905.5 625.8 \ ++0 58 19 -sig_Cmd_Init.get(); F 9 5 -Arial c 7 -#000000 T 905.5 615.8 0 80 25 -Servo_R`s_Disable = true; S 5 -solid c 7 -#000000 \ ++L 3 968 613 843 613 841.5 653.86 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="sig_Cmd_Init.isAvailable() || Cmd_Enable\nsig_Cmd_Init.get();\nServo_R`s_Disable = true;", ++ lhead=clustere3ffa77611d69e3db000538bf02fa1d0, ++ lp="905.5,628", ++ pos="e,843,1142 686.07,40.848 719.5,49.847 772,70.574 772,112 772,317 772,317 772,317 772,612.9 888.47,670.11 937,962 941.78,990.75 955.39,\ ++1110.5 945,1123 932.11,1138.5 879.2,1133 852.6,1138.8"]; ++ Se3ffa90d11d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 p 4 782 1015 728 1015 728 979 782 979 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 755 994.8 0 37 11 -Moverlapion ", ++ height=0.5, ++ label=Moverlapion, ++ pos="755,997", ++ width=0.75]; ++ Ie3ffa77611d69e3db000538bf02fa1d0 -> Se3ffa90d11d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 B 10 702.48 1174.35 695.11 1156.95 675.1 1102.9 692 1063 699.72 1044.77 710.21 1046.21 724 1032 726.94 1028.97 729.99 \ ++1025.74 732.98 1022.52 ", ++ _hdraw_="S 5 -solid c 7 -#000000 C 7 -#000000 P 3 735.57 1024.87 739.75 1015.14 730.41 1020.14 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 743.5 1115.8 0 44 14 -In_Malfunction F 9 5 -Arial c 7 -#000000 T 743.5 1105.8 0 98 33 -/*1state_SwitchOnInhibit = \ ++false; F 9 5 -Arial c 7 -#000000 T 743.5 1095.8 0 103 31 -1state_ReadyToSwitchOn = false; F 9 5 -Arial c 7 -#000000 T 743.5 1085.8 \ ++0 83 26 -1state_SwitchedOn = false; F 9 5 -Arial c 7 -#000000 T 743.5 1075.8 0 101 32 -1state_OperationEnabled = false; F 9 5 -Arial \ ++c 7 -#000000 T 743.5 1065.8 0 100 33 -1state_QuickStopActive = false;*/ S 5 -solid c 7 -#000000 L 3 795 1063 692 1063 692.01 1062.97 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="In_Malfunction\n/*1state_SwitchOnInhibit = false;\n1state_ReadyToSwitchOn = false;\n1state_SwitchedOn = false;\n1state_OperationEnabled = \ ++false;\n1state_QuickStopActive = false;*/", ++ lp="743.5,1093", ++ ltail=clustere3ffa77611d69e3db000538bf02fa1d0, ++ pos="e,739.75,1015.1 702.48,1174.4 695.11,1157 675.1,1102.9 692,1063 699.72,1044.8 710.21,1046.2 724,1032 726.94,1029 729.99,1025.7 732.98,\ ++1022.5"]; ++ Se3ffa81011d69e3db000538bf02fa1d0 -> Se3ffa4bf11d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 B 4 348.57 609.59 354.83 582.03 363.26 527.36 344 487 c 7 -#000000 B 10 344 486 333.6 469.99 295.5 437.95 289 420 267.58 \ ++360.83 202.5 347.3 326 241 357.93 213.52 494.34 262.72 515 226 c 7 -#000000 B 4 515 225 515.83 223.44 516.48 221.79 516.99 220.07 ", ++ _hdraw_="S 5 -solid c 7 -#000000 C 7 -#000000 P 3 520.47 220.42 518.54 210 513.56 219.35 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 330 412.8 0 66 20 -!In_OperationEnabled F 9 5 -Arial c 7 -#000000 T 330 402.8 0 82 25 -Servo_Res_Enable = \ ++false; S 5 -solid c 7 -#000000 L 3 371 400 289 400 288.98 419.96 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="!In_OperationEnabled\nServo_Res_Enable = false;", ++ lp="330,410", ++ pos="348.57,609.59 354.83,582.03 363.26,527.36 344,487;344,486 333.6,469.99 295.5,437.95 289,420 267.58,360.83 202.5,347.3 326,241 357.93,\ ++213.52 494.34,262.72 515,226;e,518.54,210 515,225 515.83,223.44 516.48,221.79 516.99,220.07"]; ++ Se3ffa8d311d69e3db000538bf02fa1d0 -> Se3ffa4bf11d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 B 4 482 316 478.71 273.52 493.22 262.62 515 226 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 544.5 278.8 0 79 22 -!In_ReadyToSwitchOn && F 9 5 -Arial c 7 -#000000 T 544.5 268.8 0 59 17 -!In_SwitchedOn && \ ++F 9 5 -Arial c 7 -#000000 T 544.5 258.8 0 66 20 -!In_OperationEnabled S 5 -solid c 7 -#000000 L 3 584 256 505 256 503.37 244.6 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="!In_ReadyToSwitchOn &&\n!In_SwitchedOn &&\n!In_OperationEnabled", ++ lp="544.5,271", ++ pos="482,316 478.71,273.52 493.22,262.62 515,226"]; ++ Se3ffa8d311d69e3db000538bf02fa1d0 -> Se3ffa4bf11d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 B 10 482 316 479.09 285.96 367.13 323.49 347 301 329.22 281.13 329 260.68 347 241 372.3 213.34 495.6 258.07 515 226 \ ++c 7 -#000000 B 4 475.89 332.75 479.78 328.27 482.38 322.98 482 317 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 410.5 293.8 0 127 41 -sig_Cmd_Init.isAvailable() || !Cmd_Enable F 9 5 -Arial c 7 -#000000 T 410.5 283.8 \ ++0 58 19 -sig_Cmd_Init.get(); F 9 5 -Arial c 7 -#000000 T 410.5 273.8 0 68 21 -Out_SwitchOn = false; F 9 5 -Arial c 7 -#000000 T \ ++410.5 263.8 0 84 27 -Out_DisableVoltage = false; F 9 5 -Arial c 7 -#000000 T 410.5 253.8 0 70 22 -Out_QuickStop = false; F 9 5 -Arial \ ++c 7 -#000000 T 410.5 243.8 0 90 28 -Out_EnableOperation = false; S 5 -solid c 7 -#000000 L 3 474 241 347 241 413.69 306.34 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="sig_Cmd_Init.isAvailable() || !Cmd_Enable\nsig_Cmd_Init.get();\nOut_SwitchOn = false;\nOut_DisableVoltage = false;\nOut_QuickStop = \ ++false;\nOut_EnableOperation = false;", ++ lp="410.5,271", ++ pos="482,316 479.09,285.96 367.13,323.49 347,301 329.22,281.13 329,260.68 347,241 372.3,213.34 495.6,258.07 515,226;475.89,332.75 479.78,\ ++328.27 482.38,322.98 482,317"]; ++ Se3ffa90d11d69e3db000538bf02fa1d0 -> Ie3ffa77611d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 B 4 843 1144 797.07 1168.89 733.1 1177.21 712.04 1179.36 c 7 -#000000 B 4 770.82 1015.08 798.27 1045.45 851.51 1108.06 \ ++848.37 1133.42 ", ++ _hdraw_="S 5 -solid c 7 -#000000 C 7 -#000000 P 3 845.33 1131.67 843 1142 851.27 1135.38 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 892.5 1095.8 0 46 15 -!In_Malfunction F 9 5 -Arial c 7 -#000000 T 892.5 1085.8 0 91 29 -Out_ResetMalfunction = \ ++false; S 5 -solid c 7 -#000000 L 3 938 1083 847 1083 844.09 1114.16 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="!In_Malfunction\nOut_ResetMalfunction = false;", ++ lhead=clustere3ffa77611d69e3db000538bf02fa1d0, ++ lp="892.5,1093", ++ pos="843,1144 797.07,1168.9 733.1,1177.2 712.04,1179.4;e,843,1142 770.82,1015.1 798.27,1045.5 851.51,1108.1 848.37,1133.4"]; ++ Se3ffa90d11d69e3db000538bf02fa1d0 -> Se3ffa90d11d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 B 7 782.08 1005.93 797.14 1007.59 811 1004.62 811 997 811 991.17 802.87 988.06 792.31 987.67 ", ++ _hdraw_="S 5 -solid c 7 -#000000 C 7 -#000000 P 3 791.94 984.18 782.08 988.07 792.21 991.17 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 872 1024.8 0 122 38 -sig_Cmd_ResetMalfunction.isAvailable() F 9 5 -Arial c 7 -#000000 T 872 1014.8 0 \ ++101 31 -sig_Cmd_ResetMalfunction.get(); F 9 5 -Arial c 7 -#000000 T 872 1004.8 0 88 28 -Out_ResetMalfunction = true; F 9 5 -Arial \ ++c 7 -#000000 T 872 994.8 0 68 21 -Out_SwitchOn = false; F 9 5 -Arial c 7 -#000000 T 872 984.8 0 84 27 -Out_DisableVoltage = false; \ ++F 9 5 -Arial c 7 -#000000 T 872 974.8 0 90 28 -Out_EnableOperation = false; F 9 5 -Arial c 7 -#000000 T 872 964.8 0 70 22 -Out_QuickStop = \ ++false; S 5 -solid c 7 -#000000 L 3 933 962 811 962 811 996.86 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="sig_Cmd_ResetMalfunction.isAvailable()\nsig_Cmd_ResetMalfunction.get();\nOut_ResetMalfunction = true;\nOut_SwitchOn = false;\nOut_\ ++DisableVoltage = false;\nOut_EnableOperation = false;\nOut_QuickStop = false;", ++ lp="872,997", ++ pos="e,782.08,988.07 782.08,1005.9 797.14,1007.6 811,1004.6 811,997 811,991.17 802.87,988.06 792.31,987.67"]; ++ } ++ routine1 [_draw_="c 7 -#000000 e 481 1322 33.29 18 ", ++ _ldraw_="F 14 11 -Times-Roman c 7 -#000000 T 481 1318.3 0 35 8 -routine1 ", ++ fontname="", ++ fontsize="", ++ height=0.5, ++ pos="481,1322", ++ shape="", ++ width=0.92075]; ++ routine2 [_draw_="c 7 -#000000 e 576 1322 33.29 18 ", ++ _ldraw_="F 14 11 -Times-Roman c 7 -#000000 T 576 1318.3 0 35 8 -routine2 ", ++ fontname="", ++ fontsize="", ++ height=0.5, ++ pos="576,1322", ++ shape="", ++ width=0.92075]; ++ Se3ffa84b11d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 p 4 1116 1111 982 1111 982 1075 1116 1075 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 1049 1090.8 0 118 33 -Se3ffa84b11d69e3db000538bf02fa1d0 ", ++ height=0.5, ++ pos="1049,1093", ++ width=1.8611]; ++ Ie3ffa77611d69e3db000538bf02fa1d0 -> Se3ffa84b11d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 B 7 712.14 1179.9 752.01 1179.27 947.32 1174.82 1000 1148 1012.82 1141.47 1023.91 1130.1 1032.28 1119.47 ", ++ _hdraw_="S 5 -solid c 7 -#000000 C 7 -#000000 P 3 1035.26 1121.33 1038.4 1111.21 1029.63 1117.17 ", ++ decorate=truo_Rese, ++ fontname=Arial, ++ fontsize=9, ++ pos="e,1038.4,1111.2 712.14,1179.9 752.01,1179.3 947.32,1174.8 1000,1148 1012.8,1141.5 1023.9,1130.1 1032.3,1119.5"]; ++ Sfa1d0 [_draw_="c 7 -#000000 p 4 54 538 0 538 0 502 54 502 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 27 517.8 0 22 6 -Sfa1d0 ", ++ height=0.5, ++ pos="27,520", ++ width=0.75]; ++ Se3ffa65611d69e3db000538bf02fa1d0 -> Sfa1d0 [_draw_="c 7 -#000000 B 7 179.08 609.75 157.67 594.02 124.52 570.6 94 553 92.37 552.06 78.29 545.32 63.45 538.27 ", ++ _hdraw_="S 5 -solid c 7 -#000000 C 7 -#000000 P 3 64.76 535.01 54.22 533.88 61.75 541.34 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 196.5 575.8 0 91 27 -After(timeout_Resposkewnse) F 9 5 -Arial c 7 -#000000 T 196.5 565.8 0 111 36 -LogError(\ ++L'Servo response timeout'); F 9 5 -Arial c 7 -#000000 T 196.5 555.8 0 115 36 -message = L'Servo response timeout'; S 5 -solid c \ ++7 -#000000 L 3 254 553 139 553 170.81 603.72 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="After(timeout_Resposkewnse)\nLogError(L'Servo response timeout');\nmessage = L'Servo response timeout';", ++ lp="196.5,568", ++ pos="e,54.223,533.88 179.08,609.75 157.67,594.02 124.52,570.6 94,553 92.37,552.06 78.288,545.32 63.453,538.27"]; ++ Se3ffa81011d69e3db000538bq02fa1d0 [_draw_="c 7 -#000000 p 4 1105 538 969 538 969 502 1105 502 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 1037 517.8 0 120 33 -Se3ffa81011d69e3db000538bq02fa1d0 ", ++ height=0.5, ++ pos="1037,520", ++ width=1.8889]; ++ Se3ffa81011d69e3db000538bf02fa1d0 -> Se3ffa81011d69e3db000538bq02fa1d0 [_draw_="c 7 -#000000 B 10 363.13 609.96 369.63 605.18 377.22 600.58 385 598 446.5 577.58 907.8 606.97 968 583 987.39 575.28 1004.83 559.49 \ ++1017.32 545.78 ", ++ _hdraw_="S 5 -solid c 7 -#000000 C 7 -#000000 P 3 1020.15 547.86 1024.08 538.03 1014.87 543.26 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 1058.5 575.8 0 101 31 -sig_Cmd_QuickStop.isAvailable() F 9 5 -Arial c 7 -#000000 T 1058.5 565.8 0 80 \ ++24 -sig_Cmd_QuickStop.get(); F 9 5 -Arial c 7 -#000000 T 1058.5 555.8 0 70 22 -Out_QuickStop = false; S 5 -solid c 7 -#000000 L \ ++3 1109 553 1008 553 1017.31 545.79 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="sig_Cmd_QuickStop.isAvailable()\nsig_Cmd_QuickStop.get();\nOut_QuickStop = false;", ++ lp="1058.5,568", ++ pos="e,1024.1,538.03 363.13,609.96 369.63,605.18 377.22,600.58 385,598 446.5,577.58 907.8,606.97 968,583 987.39,575.28 1004.8,559.49 \ ++1017.3,545.78"]; ++ Se3dfa4bf11d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 p 4 772 1340 638 1340 638 1304 772 1304 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 705 1319.8 0 118 33 -Se3dfa4bf11d69e3db000538bf02fa1d0 ", ++ height=0.5, ++ pos="705,1322", ++ width=1.8611]; ++ Se3dfa4bf11d69e3db000538bf02fa1d0 -> Ie3ffa77611d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 B 4 705 1303.96 705 1277.05 705 1225.06 705 1198.5 ", ++ _hdraw_="S 5 -solid c 7 -#000000 C 7 -#000000 P 3 708.5 1198.27 705 1188.27 701.5 1198.27 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 767.5 1281.8 0 125 40 -sig_Cmd_Init.isAvailable() || Cmd_Enable F 9 5 -Arial c 7 -#000000 T 767.5 1271.8 \ ++0 58 19 -sig_Cmd_Init.get(); S 5 -solid c 7 -#000000 L 3 830 1269 705 1269 705 1280.08 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="sig_Cmd_Init.isAvailable() || Cmd_Enable\nsig_Cmd_Init.get();", ++ lhead=clustere3ffa77611d69e3db000538bf02fa1d0, ++ lp="767.5,1279", ++ pos="e,705,1188.3 705,1304 705,1277 705,1225.1 705,1198.5"]; ++ Se3ffa84b11d69e3db000538bf02fa1d0 -> Se3ffa60811d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 B 10 1002.01 1111.05 960.22 1126.08 904.05 1145.91 893 1148 765.31 1172.1 730.63 1153.87 601 1163 554.35 1166.28 501.34 \ ++1171.12 463.2 1174.79 ", ++ _hdraw_="S 5 -solid c 7 -#000000 C 7 -#000000 P 3 462.46 1171.35 452.85 1175.8 463.14 1178.31 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 956.5 1140.8 0 67 21 -Out_QuickStop = true; S 5 -solid c 7 -#000000 L 3 990 1138 923 1138 951.55 1128.97 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="Out_QuickStop = true;", ++ lp="956.5,1143", ++ pos="e,452.85,1175.8 1002,1111 960.22,1126.1 904.05,1145.9 893,1148 765.31,1172.1 730.63,1153.9 601,1163 554.35,1166.3 501.34,1171.1 \ ++463.2,1174.8"]; ++ Sfa1d0 -> Se3ffa53211d69e3db000538bf02fa1d0 [_draw_="c 7 -#000000 B 10 39.3 538.06 52.62 558.26 72 593.41 72 627 72 1094 72 1094 72 1094 72 1115.77 82.84 1137.89 93.37 1154.24 ", ++ _hdraw_="S 5 -solid c 7 -#000000 C 7 -#000000 P 3 90.6 1156.4 99.12 1162.7 96.39 1152.46 ", ++ _ldraw_="F 9 5 -Arial c 7 -#000000 T 129.5 840.8 0 91 27 -After(timeout_Resposkewnse) F 9 5 -Arial c 7 -#000000 T 129.5 830.8 0 111 36 -LogError(\ ++L'Servo response timeout'); F 9 5 -Arial c 7 -#000000 T 129.5 820.8 0 115 36 -message = L'Servo response timeout'; S 5 -solid c \ ++7 -#000000 L 3 187 818 72 818 72 896.99 ", ++ decorate=true, ++ fontname=Arial, ++ fontsize=9, ++ label="After(timeout_Resposkewnse)\nLogError(L'Servo response timeout');\nmessage = L'Servo response timeout';", ++ lp="129.5,833", ++ pos="e,99.119,1162.7 39.296,538.06 52.62,558.26 72,593.41 72,627 72,1094 72,1094 72,1094 72,1115.8 82.839,1137.9 93.371,1154.2"]; ++} +diff --git a/tests/regression_tests/vuln/vuln.py b/tests/regression_tests/vuln/vuln.py +new file mode 100644 +index 0000000000000000000000000000000000000000..f6fd399008baaa849bdf6150d4d02a8bcee49cab +--- /dev/null ++++ b/tests/regression_tests/vuln/vuln.py +@@ -0,0 +1,41 @@ ++from subprocess import Popen, PIPE ++import os.path, sys ++ ++# Import helper function to compare graphs from tests/regressions_tests ++sys.path.insert(0, os.path.abspath('../')) ++from regression_test_helpers import compare_graphs ++ ++vulnfiles = [ ++ 'nullderefrebuildlist' ++] ++ ++output_types = [ ++ 'xdot' ++] ++ ++def generate_vuln_graph(vulnfile, output_type): ++ if not os.path.exists('output'): ++ os.makedirs('output') ++ ++ output_file = 'output/' + vulnfile + '.' + output_type ++ input_file = 'input/' + vulnfile + '.dot' ++ process = Popen(['dot', '-T' + output_type, '-o', output_file, input_file], stdin=PIPE) ++ ++ if process.wait() < 0: ++ print('An error occurred while generating: ' + output_file) ++ exit(1) ++ ++failures = 0 ++for vulnfile in vulnfiles: ++ for output_type in output_types: ++ generate_vuln_graph(vulnfile, output_type) ++ if not compare_graphs(vulnfile, output_type): ++ failures += 1 ++ ++print('') ++print('Results for "vuln" regression test:') ++print(' Number of tests: ' + str(len(vulnfiles) * len(output_types))) ++print(' Number of failures: ' + str(failures)) ++ ++if not failures == 0: ++ exit(1) diff -Nru graphviz-2.40.1/debian/patches/series graphviz-2.40.1/debian/patches/series --- graphviz-2.40.1/debian/patches/series 2018-10-03 15:04:59.000000000 +0000 +++ graphviz-2.40.1/debian/patches/series 2019-04-08 15:51:00.000000000 +0000 @@ -16,3 +16,4 @@ fix-memory-leaks.patch avoid-integer-overflow-problem.patch fix-_gv-symlinks.patch +CVE-2018-10196.patch