puts "All exceptions is OK" puts "TODO OCC12345 ALL: An exception was caught" puts "TODO OCC12345 ALL: \\*\\* Exception \\*\\*.*" puts "========" puts "OCC669" puts "========" puts "" ######################################### ## Standard_GUID("HoleFeature") cause stack overwrite ######################################### pload QAcommands set GoodGUIDList [list 00000000-0000-0000-0000-000000000000 \ \ 0000000A-0000-0000-0000-000000000000 \ 0000000B-0000-0000-0000-000000000000 \ 0000000C-0000-0000-0000-000000000000 \ 0000000D-0000-0000-0000-000000000000 \ 0000000E-0000-0000-0000-000000000000 \ 0000000F-0000-0000-0000-000000000000 \ \ 0000000a-0000-0000-0000-000000000000 \ 0000000b-0000-0000-0000-000000000000 \ 0000000c-0000-0000-0000-000000000000 \ 0000000d-0000-0000-0000-000000000000 \ 0000000e-0000-0000-0000-000000000000 \ 0000000f-0000-0000-0000-000000000000 \ \ 00000000-000A-0000-0000-000000000000 \ 00000000-000B-0000-0000-000000000000 \ 00000000-000C-0000-0000-000000000000 \ 00000000-000D-0000-0000-000000000000 \ 00000000-000E-0000-0000-000000000000 \ 00000000-000F-0000-0000-000000000000 \ \ 00000000-000a-0000-0000-000000000000 \ 00000000-000b-0000-0000-000000000000 \ 00000000-000c-0000-0000-000000000000 \ 00000000-000d-0000-0000-000000000000 \ 00000000-000e-0000-0000-000000000000 \ 00000000-000f-0000-0000-000000000000 \ \ 00000000-0000-000A-0000-000000000000 \ 00000000-0000-000B-0000-000000000000 \ 00000000-0000-000C-0000-000000000000 \ 00000000-0000-000D-0000-000000000000 \ 00000000-0000-000E-0000-000000000000 \ 00000000-0000-000F-0000-000000000000 \ \ 00000000-0000-000a-0000-000000000000 \ 00000000-0000-000b-0000-000000000000 \ 00000000-0000-000c-0000-000000000000 \ 00000000-0000-000d-0000-000000000000 \ 00000000-0000-000e-0000-000000000000 \ 00000000-0000-000f-0000-000000000000 \ \ 00000000-0000-0000-000A-000000000000 \ 00000000-0000-0000-000B-000000000000 \ 00000000-0000-0000-000C-000000000000 \ 00000000-0000-0000-000D-000000000000 \ 00000000-0000-0000-000E-000000000000 \ 00000000-0000-0000-000F-000000000000 \ \ 00000000-0000-0000-000a-000000000000 \ 00000000-0000-0000-000b-000000000000 \ 00000000-0000-0000-000c-000000000000 \ 00000000-0000-0000-000d-000000000000 \ 00000000-0000-0000-000e-000000000000 \ 00000000-0000-0000-000f-000000000000 \ \ 00000000-0000-0000-0000-00000000000A \ 00000000-0000-0000-0000-00000000000B \ 00000000-0000-0000-0000-00000000000C \ 00000000-0000-0000-0000-00000000000D \ 00000000-0000-0000-0000-00000000000E \ 00000000-0000-0000-0000-00000000000F \ \ 00000000-0000-0000-0000-00000000000a \ 00000000-0000-0000-0000-00000000000b \ 00000000-0000-0000-0000-00000000000c \ 00000000-0000-0000-0000-00000000000d \ 00000000-0000-0000-0000-00000000000e \ 00000000-0000-0000-0000-00000000000f ] set BadGUIDList [list \ \ 0000000G-0000-0000-0000-000000000000 \ 0000000g-0000-0000-0000-000000000000 \ \ 00000000-000G-0000-0000-000000000000 \ 00000000-000g-0000-0000-000000000000 \ \ 00000000-0000-000G-0000-000000000000 \ 00000000-0000-000g-0000-000000000000 \ \ 00000000-0000-0000-000G-000000000000 \ 00000000-0000-0000-000g-000000000000 \ \ 00000000-0000-0000-0000-00000000000G \ 00000000-0000-0000-0000-00000000000g \ \ 000000000000000000000000000000000000 \ 0000000000000000000000000000000000000 \ 00000000000000000000000000000000000 \ \ 0000000000000-0000-0000-000000000000 \ 00000000-000000000-0000-000000000000 \ 00000000-0000-000000000-000000000000 \ 00000000-0000-0000-00000000000000000 \ \ 000000000-0000-0000-0000-000000000000 \ 0000000-0000-0000-0000-000000000000 \ \ 00000000-00000-0000-0000-000000000000 \ 00000000-000-0000-0000-000000000000 \ \ 00000000-0000-00000-0000-000000000000 \ 00000000-0000-000-0000-000000000000 \ \ 00000000-0000-0000-00000-000000000000 \ 00000000-0000-0000-000-000000000000 \ \ 00000000-0000-0000-0000-0000000000000 \ 00000000-0000-0000-0000-00000000000 \ \ "" ] set IsOK 1 set i 0 foreach GUID ${GoodGUIDList} { incr i if [catch { OCC669 ${GUID} }] then { set IsOK 0 puts "GUID=\"${GUID}\"" puts "Faulty OCC669 (case ${i})" } else { puts "OCC669 OK (case ${i})" } } foreach GUID ${BadGUIDList} { incr i if [catch { OCC669 ${GUID} }] then { puts "OCC669 OK (case ${i})" } else { set IsOK 0 puts "GUID=\"${GUID}\"" puts "Faulty OCC669 (case ${i})" } } if { ${IsOK} == 1} { puts "OCC669 OK" } else { puts "Faulty OCC669" }