<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://sourceware.org/bugzilla/bugzilla.dtd">

<bugzilla version="4.0.10"
          urlbase="http://sourceware.org/bugzilla/"
          
          maintainer="overseers@sourceware.org"
>

    <bug>
          <bug_id>6786</bug_id>
          
          <creation_ts>2008-07-30 14:52:00 +0000</creation_ts>
          <short_desc>erfc() does not set errno for underflow</short_desc>
          <delta_ts>2012-02-29 21:06:48 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>glibc</product>
          <component>math</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Kerrisk">mtk.manpages</reporter>
          <assigned_to name="Not yet assigned to anyone">unassigned</assigned_to>
          <cc>glibc-bugs</cc>
          <cf_gcchost></cf_gcchost>
          <cf_gcctarget></cf_gcctarget>
          <cf_gccbuild></cf_gccbuild>
          

      

      

      

          <long_desc isprivate="0">
            <commentid>24575</commentid>
            <who name="Michael Kerrisk">mtk.manpages</who>
            <bug_when>2008-07-30 14:52:55 +0000</bug_when>
            <thetext>When erfc() is given an argument that causes underflow (e.g., erfc(106.9) on
x8632) it raises an underflow exception.  However, errno is not set.  It should
be set to ERANGE for this case.

Background: 
On error, many glibc math functions both set errno and raise an exception
(fetestexcept(3)).  For example, the following  function all do this: acos(),
asin(), cosh(), sinh(), acosh(), asinh(), exp(), exp2(), ldexp(), log(),
log10(), log2().  However, there is much inconsistency.  Some functions raise an
exception, but don&apos;t set errno.  Some functions set errno for some errors, but
not others.  A few set errno, but don&apos;t raise an exception.  This series of bug
reports documents deviations from what I consider the ideal: all functions
should BOTH set errno AND raise an exception for all errors.

All of these reports relate to tests on glibc 2.8 (as provided by SUSE 11.0).</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>24594</commentid>
              <attachid>2851</attachid>
            <who name="Michael Kerrisk">mtk.manpages</who>
            <bug_when>2008-07-31 08:52:25 +0000</bug_when>
            <thetext>Created attachment 2851
test program

(I got the underflow value wrong in my initial report. I think 106.9 gives
underflow with the long double variant.  27 doies the trick for the double
version.)

Sample run showing problem:

$ /tmp/mt_erfc 27
errno == 0
fetestexcept() says:  FE_UNDERFLOW FE_INEXACT
erfc(2.70000000000000000e+01)=5.23704643935262924e-319
0 FE_UNDERFLOW subnormal</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>53673</commentid>
            <who name="Joseph Myers">jsm28</who>
            <bug_when>2012-02-29 21:06:48 +0000</bug_when>
            <thetext>Confirmed with current sources on both x86 and x86_64.</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
              isurl="0"
          >
            <attachid>2851</attachid>
            <date>2008-07-31 08:52:00 +0000</date>
            <delta_ts>2008-07-31 08:52:25 +0000</delta_ts>
            <desc>test program</desc>
            <filename>mt_erfc.c</filename>
            <type>text/plain</type>
            <size>11749</size>
            <attacher>mtk.manpages</attacher>
            
              <data encoding="base64">LyogL3RtcC9tdF9lcmZjLmMgKGF1dG8tZ2VuZXJhdGVkIGF0IDIwMDgtMDctMzEgMTA6Mjg6MjAp
ICovCiNkZWZpbmUgX1hPUEVOX1NPVVJDRSA2MDAKI2RlZmluZSBfR05VX1NPVVJDRQojaW5jbHVk
ZSA8YXNzZXJ0Lmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgojaW5j
bHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPGVycm5vLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2lu
Y2x1ZGUgPGZlbnYuaD4KI2luY2x1ZGUgPGxpbWl0cy5oPgojaW5jbHVkZSA8bWF0aC5oPgojaW5j
bHVkZSA8ZmxvYXQuaD4KI2luY2x1ZGUgPGN0eXBlLmg+CgojZGVmaW5lIEVYSVRfdGVzdF9zZXR1
cF9mYWlsZWQgMgoKc3RhdGljIGludCB2ZXJib3NlID0gMTsKCi8qIENvbnZlcnQgYSBzdHJpbmcg
dG8gYSBkb3VibGUsIGJ1dCBhbGxvdyBhIGZldyBzcGVjaWFsIGNhc2VzCiAgIGluIHRoZSBmb3Jt
IG9mIG5vbi1udW1lcmljIHN0cmluZ3MgKi8KCnN0YXRpYyBkb3VibGUKc3RyaW5nX3RvX2QoY2hh
ciAqc3RyKQp7CiAgICBjaGFyICpwOwogICAgY2hhciAqczsKICAgIGRvdWJsZSByZXR2YWw7Cgog
ICAgcyA9IHN0cmR1cChzdHIpOwogICAgaWYgKHMgPT0gTlVMTCkgewogICAgICAgIHBlcnJvcigi
c3RyZHVwIik7CiAgICAgICAgZXhpdChFWElUX3Rlc3Rfc2V0dXBfZmFpbGVkKTsKICAgIH0KCiAg
ICBmb3IgKHAgPSBzOyAqcDsgcCsrKQogICAgICAgICpwID0gdG91cHBlcigqcCk7CgogICAgaWYg
KHN0cmNtcChzLCAiLUlORiIpID09IDApIAogICAgICAgIHJldHZhbCA9IC1IVUdFX1ZBTDsgCiAg
ICBlbHNlIGlmIChzdHJjbXAocywgIklORiIpID09IDAgfHwgc3RyY21wKHMsICIrSU5GIikgPT0g
MCkgCiAgICAgICAgcmV0dmFsID0gSFVHRV9WQUw7CiAgICBlbHNlIGlmIChzdHJjbXAocywgIk5B
TiIpID09IDApIAogICAgICAgIHJldHZhbCA9IG5hbigiIik7CgogICAgZWxzZSBpZiAoc3RyY21w
KHMsICJNSU4iKSA9PSAwIHx8IHN0cmNtcChzLCAiK01JTiIpID09IDApIAogICAgICAgIHJldHZh
bCA9IERCTF9NSU47CiAgICBlbHNlIGlmIChzdHJjbXAocywgIi1NSU4iKSA9PSAwKSAKICAgICAg
ICByZXR2YWwgPSAtREJMX01JTjsKICAgIGVsc2UgaWYgKHN0cmNtcChzLCAiTUFYIikgPT0gMCB8
fCBzdHJjbXAocywgIitNQVgiKSA9PSAwKSAKICAgICAgICByZXR2YWwgPSBEQkxfTUFYOwogICAg
ZWxzZSBpZiAoc3RyY21wKHMsICItTUFYIikgPT0gMCkgCiAgICAgICAgcmV0dmFsID0gLURCTF9N
QVg7CgogICAgZWxzZSBpZiAoc3RyY21wKHMsICJEQkxfTUlOIikgPT0gMCkgCiAgICAgICAgcmV0
dmFsID0gREJMX01JTjsKICAgIGVsc2UgaWYgKHN0cmNtcChzLCAiLURCTF9NSU4iKSA9PSAwKSAK
ICAgICAgICByZXR2YWwgPSAtREJMX01JTjsKICAgIGVsc2UgaWYgKHN0cmNtcChzLCAiREJMX01B
WCIpID09IDApIAogICAgICAgIHJldHZhbCA9IERCTF9NQVg7CiAgICBlbHNlIGlmIChzdHJjbXAo
cywgIi1EQkxfTUFYIikgPT0gMCkgCiAgICAgICAgcmV0dmFsID0gLURCTF9NQVg7CgogICAgZWxz
ZSBpZiAoc3RyY21wKHMsICJGTFRfTUlOIikgPT0gMCkgCiAgICAgICAgcmV0dmFsID0gRkxUX01J
TjsKICAgIGVsc2UgaWYgKHN0cmNtcChzLCAiLUZMVF9NSU4iKSA9PSAwKSAKICAgICAgICByZXR2
YWwgPSAtRkxUX01JTjsKICAgIGVsc2UgaWYgKHN0cmNtcChzLCAiRkxUX01BWCIpID09IDApIAog
ICAgICAgIHJldHZhbCA9IEZMVF9NQVg7CiAgICBlbHNlIGlmIChzdHJjbXAocywgIi1GTFRfTUFY
IikgPT0gMCkgCiAgICAgICAgcmV0dmFsID0gLUZMVF9NQVg7CgogICAgZWxzZSBpZiAoc3RyY21w
KHMsICJMREJMX01JTiIpID09IDApIAogICAgICAgIHJldHZhbCA9IExEQkxfTUlOOwogICAgZWxz
ZSBpZiAoc3RyY21wKHMsICItTERCTF9NSU4iKSA9PSAwKSAKICAgICAgICByZXR2YWwgPSAtTERC
TF9NSU47CiAgICBlbHNlIGlmIChzdHJjbXAocywgIkxEQkxfTUFYIikgPT0gMCkgCiAgICAgICAg
cmV0dmFsID0gTERCTF9NQVg7CiAgICBlbHNlIGlmIChzdHJjbXAocywgIi1MREJMX01BWCIpID09
IDApIAogICAgICAgIHJldHZhbCA9IC1MREJMX01BWDsKCiAgICBlbHNlIGlmIChzdHJuY21wKHMs
ICJTVUJOT1JNQUwiLCA5KSA9PSAwIHx8CiAgICAgICAgICAgICBzdHJuY21wKHMsICItU1VCTk9S
TUFMIiwgMTApID09IDApIHsKICAgICAgICBjaGFyICpoOwogICAgICAgIGludCBkLCBqOwoKICAg
ICAgICBoID0gc3RyY2hyKHMsICc6Jyk7CiAgICAgICAgaWYgKGggPT0gTlVMTCkKICAgICAgICAg
ICAgZCA9IDQ7CiAgICAgICAgZWxzZQogICAgICAgICAgICBkID0gYXRvaShoICsgMSk7CiAgICAg
ICAgcmV0dmFsID0gREJMX01JTjsKICAgICAgICBmb3IgKGogPSAwOyBqIDwgZDsgaisrKQogICAg
ICAgICAgICByZXR2YWwgLz0gMi4wOwogICAgICAgIGlmIChzWzBdID09ICctJykKICAgICAgICAg
ICAgcmV0dmFsID0gLXJldHZhbDsKICAgIH0gZWxzZSBpZiAoc3RyY2hyKCIrLTAxMjM0NTY3ODki
LCBzWzBdKSA9PSBOVUxMKSB7CiAgICAgICAgZnByaW50ZihzdGRlcnIsICJCYWQgYXJndW1lbnQ6
ICVzXG4iLCBzKTsKICAgICAgICBleGl0KEVYSVRfdGVzdF9zZXR1cF9mYWlsZWQpOwogICAgfSBl
bHNlCiAgICAgICAgcmV0dmFsID0gc3RydG9kKHMsIE5VTEwpOwoKICAgIGZyZWUocyk7CiAgICBy
ZXR1cm4gcmV0dmFsOwp9CgpzdGF0aWMgdm9pZApjbGVhckVycm9ycyh2b2lkKQp7CiAgICBlcnJu
byA9IDA7CiAgICBmZWNsZWFyZXhjZXB0KEZFX0FMTF9FWENFUFQpOwp9CgpzdGF0aWMgdm9pZApj
aGVja0Vycm9ycyhpbnQgKnJfZXJybm8sIGludCAqcl9leGNlcHQpCnsKICAgICpyX2Vycm5vID0g
ZXJybm87CgogICAgaWYgKHZlcmJvc2UpIHsKICAgICAgICBpZiAoKnJfZXJybm8gPT0gMCkgewog
ICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImVycm5vID09IDBcbiIpOwogICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgIGlmICgqcl9lcnJubyA9PSBFRE9NKQogICAgICAgICAgICAgICAgZnBy
aW50ZihzdGRlcnIsICJlcnJubyA9PSBFRE9NXG4iKTsKICAgICAgICAgICAgZWxzZSBpZiAoKnJf
ZXJybm8gPT0gRVJBTkdFKQogICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJlcnJubyA9
PSBFUkFOR0VcbiIpOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBmcHJpbnRmKHN0
ZGVyciwgImVycm5vID09ICVkXG4iLCAqcl9lcnJubyk7CiAgICAgICAgfQogICAgfQoKICAgICpy
X2V4Y2VwdCA9IGZldGVzdGV4Y2VwdChGRV9JTlZBTElEIHwgRkVfRElWQllaRVJPIHwgRkVfT1ZF
UkZMT1cgfAogICAgICAgICAgICAgICAgICAgICAgICAgRkVfVU5ERVJGTE9XIHwgRkVfSU5FWEFD
VCk7CgogICAgaWYgKHZlcmJvc2UpIHsKICAgICAgICBwcmludGYoImZldGVzdGV4Y2VwdCgpIHNh
eXM6ICIpOwogICAgICAgIGlmICgqcl9leGNlcHQgJiBGRV9JTlZBTElEKQogICAgICAgICAgICBw
cmludGYoIiBGRV9JTlZBTElEIik7CiAgICAgICAgaWYgKCpyX2V4Y2VwdCAmIEZFX0RJVkJZWkVS
TykKICAgICAgICAgICAgcHJpbnRmKCIgRkVfRElWQllaRVJPIik7CiAgICAgICAgaWYgKCpyX2V4
Y2VwdCAmIEZFX09WRVJGTE9XKQogICAgICAgICAgICBwcmludGYoIiBGRV9PVkVSRkxPVyIpOwog
ICAgICAgIGlmICgqcl9leGNlcHQgJiBGRV9VTkRFUkZMT1cpCiAgICAgICAgICAgIHByaW50Zigi
IEZFX1VOREVSRkxPVyIpOwogICAgICAgIGlmICgqcl9leGNlcHQgJiBGRV9JTkVYQUNUKQogICAg
ICAgICAgICBwcmludGYoIiBGRV9JTkVYQUNUIik7CiAgICAgICAgcHJpbnRmKCJcbiIpOwogICAg
fQp9CgpzdGF0aWMgdm9pZAp1c2FnZShjaGFyICpwbmFtZSwgY2hhciAqbXNnKQp7CiAgICBpZiAo
bXNnICE9IE5VTEwpCiAgICAgICAgZnByaW50ZihzdGRlcnIsICIlc1xuIiwgbXNnKTsKICAgIGZw
cmludGYoc3RkZXJyLCAiVXNhZ2U6ICVzIFstcV0gWy1lIGVycm5vLGV4Y2VwdCxjbGFzc10gPGFy
Z3M+XG4iLAogICAgICAgICAgICAgICAgICAgIHBuYW1lKTsKICAgIGZwcmludGYoc3RkZXJyLCAi
LXEgIHF1aWV0XG4iKTsKICAgIGZwcmludGYoc3RkZXJyLCAiLWUgIGV4cGVjdGVkIHJlc3VsdHMs
IGV4cHJlc3NlZCB2aWEgZXJybm8sIGV4Y2VwdGlvbiwiCiAgICAgICAgICAgICAgICAgICAgImFu
ZCBjbGFzcyBvZiBmdW5jdGlvbiByZXN1bHRcbiIpOwogICAgZnByaW50ZihzdGRlcnIsICIgICAg
ZXJybm8gY2FuIGJlIEVET00sIEVSQU5HRSwgb3IgMFxuIik7CiAgICBmcHJpbnRmKHN0ZGVyciwg
IiAgICBleGNlcHQgY2FuIGJlIEZQX0lOVkFMSUQsIEZFX0RJVkJZWkVSTywgIgogICAgICAgICAg
ICAgICAgICAgICJGUF9PVkVSRkxPVywgRlBfVU5ERVJGTE9XLCBvciAwXG4iKTsKICAgIGZwcmlu
dGYoc3RkZXJyLCAiICAgIGNsYXNzIGNhbiBiZSArMCwgLTAsICtpbmYsIC1pbmYsIG5hbiwgbm9y
bWFsLCAiCiAgICAgICAgICAgICAgICAgICAgIm9yIHN1Ym5vcm1hbFxuIik7CiAgICBleGl0KEVY
SVRfdGVzdF9zZXR1cF9mYWlsZWQpOwp9CgppbnQKbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltd
KQp7CiAgICBpbnQgb3B0OwogICAgaW50IGVfZXJybm8sIGVfZXhjZXB0LCBlX2NsYXNzLCBlX3Np
Z247CiAgICBpbnQgZG9udF9jaGVja19lcnJubyA9IDAsIGRvbnRfY2hlY2tfZXhjZXB0ID0gMCwg
ZG9udF9jaGVja19jbGFzcyA9IDA7CiAgICBpbnQgZV9vcHRfcHJlc2VudDsKICAgIGludCByX2Vy
cm5vLCByX2V4Y2VwdDsKICAgIGludCBleGl0X3N0YXR1cyA9IEVYSVRfU1VDQ0VTUzsKICAgIGlu
dCB2YWx1ZV9leHBlY3RlZCA9IDA7CiAgICBjaGFyICpwZXJybm8sICpwZXhjZXB0LCAqcGNsYXNz
OwoKICAgIGRvdWJsZSB4OyAKICAgIGRvdWJsZSByZXN1bHQ7CiAgICBkb3VibGUgZV92YWx1ZTsK
ICAgIGludCBpbnRfdmFsdWVfZXhwZWN0ZWQgPSAwOwoKICAgIGVfb3B0X3ByZXNlbnQgPSAwOwog
ICAgd2hpbGUgKChvcHQgPSBnZXRvcHQoYXJnYywgYXJndiwgInFlOiIpKSAhPSAtMSkgewogICAg
ICAgIC8vcHJpbnRmKCJvcHQ9JWNcbiIsIG9wdCk7CiAgICAgICAgc3dpdGNoIChvcHQpIHsKICAg
ICAgICBjYXNlICdxJzoKICAgICAgICAgICAgdmVyYm9zZSA9IDA7CiAgICAgICAgICAgIGJyZWFr
OwoKICAgICAgICBjYXNlICdlJzoKICAgICAgICAgICAgewogICAgICAgICAgICBjaGFyICpjMSwg
KmMyLCAqcDsKCiAgICAgICAgICAgIGVfb3B0X3ByZXNlbnQgPSAxOwoKICAgICAgICAgICAgZm9y
IChwID0gb3B0YXJnOyAqcCAhPSAnXDAnOyBwKyspCiAgICAgICAgICAgICAgICAqcCA9IHRvdXBw
ZXIoKnApOwoKICAgICAgICAgICAgYzEgPSBzdHJjaHIob3B0YXJnLCAnLCcpOwogICAgICAgICAg
ICBpZiAoYzEgPT0gTlVMTCkgCiAgICAgICAgICAgICAgICB1c2FnZShhcmd2WzBdLCAiYmFkIC1l
IHNwZWMiKTsKICAgICAgICAgICAgKmMxID0gJ1wwJzsKCiAgICAgICAgICAgIGMyID0gc3RyY2hy
KGMxICsgMSwgJywnKTsKICAgICAgICAgICAgaWYgKGMyID09IE5VTEwpIAogICAgICAgICAgICAg
ICAgdXNhZ2UoYXJndlswXSwgImJhZCAtZSBzcGVjIik7CiAgICAgICAgICAgICpjMiA9ICdcMCc7
CgogICAgICAgICAgICBwZXJybm8gPSBvcHRhcmc7CiAgICAgICAgICAgIHBleGNlcHQgPSBjMSAr
IDE7CiAgICAgICAgICAgIHBjbGFzcyA9IGMyICsgMTsKCiAgICAgICAgICAgIGlmIChzdHJjbXAo
cGVycm5vLCAiKiIpID09IDApCiAgICAgICAgICAgICAgICBkb250X2NoZWNrX2Vycm5vID0gMTsK
ICAgICAgICAgICAgZWxzZSBpZiAoc3RyY21wKHBlcnJubywgIjAiKSA9PSAwKQogICAgICAgICAg
ICAgICAgZV9lcnJubyA9IDA7CiAgICAgICAgICAgIGVsc2UgaWYgKHN0cmNtcChwZXJybm8sICJF
RE9NIikgPT0gMCkKICAgICAgICAgICAgICAgIGVfZXJybm8gPSBFRE9NOwogICAgICAgICAgICBl
bHNlIGlmIChzdHJjbXAocGVycm5vLCAiRVJBTkdFIikgPT0gMCkKICAgICAgICAgICAgICAgIGVf
ZXJybm8gPSBFUkFOR0U7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHVzYWdlKGFy
Z3ZbMF0sICJCYWQgZXJybm8gaW4gLWUgc3BlYyIpOwoKICAgICAgICAgICAgaWYgKHN0cmNtcChw
ZXhjZXB0LCAiKiIpID09IDApCiAgICAgICAgICAgICAgICBkb250X2NoZWNrX2V4Y2VwdCA9IDE7
CiAgICAgICAgICAgIGVsc2UgaWYgKHN0cmNtcChwZXhjZXB0LCAiMCIpID09IDApCiAgICAgICAg
ICAgICAgICBlX2V4Y2VwdCA9IDA7CiAgICAgICAgICAgIGVsc2UgaWYgKHN0cmNtcChwZXhjZXB0
LCAiRkVfRElWQllaRVJPIikgPT0gMCkKICAgICAgICAgICAgICAgIGVfZXhjZXB0ID0gRkVfRElW
QllaRVJPOwogICAgICAgICAgICBlbHNlIGlmIChzdHJjbXAocGV4Y2VwdCwgIkZFX0lOVkFMSUQi
KSA9PSAwKQogICAgICAgICAgICAgICAgZV9leGNlcHQgPSBGRV9JTlZBTElEOwogICAgICAgICAg
ICBlbHNlIGlmIChzdHJjbXAocGV4Y2VwdCwgIkZFX09WRVJGTE9XIikgPT0gMCkKICAgICAgICAg
ICAgICAgIGVfZXhjZXB0ID0gRkVfT1ZFUkZMT1c7CiAgICAgICAgICAgIGVsc2UgaWYgKHN0cmNt
cChwZXhjZXB0LCAiRkVfVU5ERVJGTE9XIikgPT0gMCkKICAgICAgICAgICAgICAgIGVfZXhjZXB0
ID0gRkVfVU5ERVJGTE9XOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICB1c2FnZShh
cmd2WzBdLCAiQmFkIGV4Y2VwdCBpbiAtZSBzcGVjIik7CgoKICAgICAgICAgICAgaWYgKHN0cmNt
cChwY2xhc3MsICIqIikgPT0gMCkKICAgICAgICAgICAgICAgIGRvbnRfY2hlY2tfY2xhc3MgPSAx
OwogICAgICAgICAgICBlbHNlIGlmIChzdHJjbXAocGNsYXNzLCAiKzAiKSA9PSAwKSB7CiAgICAg
ICAgICAgICAgICBlX2NsYXNzID0gRlBfWkVSTzsKICAgICAgICAgICAgICAgIGVfc2lnbiA9ICsx
OwogICAgICAgICAgICB9IGVsc2UgaWYgKHN0cmNtcChwY2xhc3MsICItMCIpID09IDApIHsKICAg
ICAgICAgICAgICAgIGVfY2xhc3MgPSBGUF9aRVJPOwogICAgICAgICAgICAgICAgZV9zaWduID0g
LTE7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RyY21wKHBjbGFzcywgIitJTkYiKSA9PSAwKSB7
CiAgICAgICAgICAgICAgICBlX2NsYXNzID0gRlBfSU5GSU5JVEU7CiAgICAgICAgICAgICAgICBl
X3NpZ24gPSArMTsKICAgICAgICAgICAgfSBlbHNlIGlmIChzdHJjbXAocGNsYXNzLCAiLUlORiIp
ID09IDApIHsKICAgICAgICAgICAgICAgIGVfY2xhc3MgPSBGUF9JTkZJTklURTsKICAgICAgICAg
ICAgICAgIGVfc2lnbiA9IC0xOwogICAgICAgICAgICB9IGVsc2UgaWYgKHN0cmNtcChwY2xhc3Ms
ICJOT1JNQUwiKSA9PSAwKSB7CiAgICAgICAgICAgICAgICBlX2NsYXNzID0gRlBfTk9STUFMOwog
ICAgICAgICAgICB9IGVsc2UgaWYgKHN0cmNtcChwY2xhc3MsICJTVUJOT1JNQUwiKSA9PSAwKSB7
CiAgICAgICAgICAgICAgICBlX2NsYXNzID0gRlBfU1VCTk9STUFMOwogICAgICAgICAgICB9IGVs
c2UgaWYgKHN0cmNtcChwY2xhc3MsICJOQU4iKSA9PSAwKSB7CiAgICAgICAgICAgICAgICBlX2Ns
YXNzID0gRlBfTkFOOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgY2hhciAq
ZXA7CiAgICAgICAgICAgICAgICB2YWx1ZV9leHBlY3RlZCA9IDE7CiAgICAgICAgICAgICAgICBp
bnRfdmFsdWVfZXhwZWN0ZWQgPSAxOwogICAgICAgICAgICAgICAgaWYgKHN0cmNtcChwY2xhc3Ms
ICJGUF9JTE9HQjAiKSA9PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgZV92YWx1ZSA9IEZQX0lM
T0dCMDsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RyY21wKHBjbGFzcywgIkZQX0lMT0dC
TkFOIikgPT0gMCkgewogICAgICAgICAgICAgICAgICAgIGVfdmFsdWUgPSBGUF9JTE9HQk5BTjsK
ICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RyY21wKHBjbGFzcywgIklOVF9NQVgiKSA9PSAw
KSB7CiAgICAgICAgICAgICAgICAgICAgZV92YWx1ZSA9IElOVF9NQVg7CiAgICAgICAgICAgICAg
ICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVfdmFsdWUgPSBzdHJ0b2QocGNsYXNzLCAm
ZXApOwogICAgICAgICAgICAgICAgICAgIGlmICgqZXAgIT0gJ1wwJykgewogICAgICAgICAgICAg
ICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImVwPSVzXG4iLCBlcCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHVzYWdlKGFyZ3ZbMF0sICJVbnJlY29nbml6ZWQgY2xhc3MgdmFsdWUiKTsKICAg
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgaWYgKGlzbGVzc2dyZWF0ZXIo
cmVtYWluZGVyKGVfdmFsdWUsIDEuMCksIDAuMCkpCiAgICAgICAgICAgICAgICAgICAgICAgIGlu
dF92YWx1ZV9leHBlY3RlZCA9IDA7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAg
ICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKCiAgICAgICAgZGVmYXVsdDoKICAgICAgICAg
ICAgdXNhZ2UoYXJndlswXSwgTlVMTCk7CiAgICAgICAgICAgIGV4aXQoRVhJVF90ZXN0X3NldHVw
X2ZhaWxlZCk7CiAgICAgICAgfQogICAgfQoKICAgIGFzc2VydChhcmdjID09IG9wdGluZCAtIDEg
KyAyKTsKICAgIHggPSBzdHJpbmdfdG9fZChhcmd2W29wdGluZF0pOwoKICAgIGNsZWFyRXJyb3Jz
KCk7CgogICAgcmVzdWx0ID0gZXJmYyh4KTsKICAgIGNoZWNrRXJyb3JzKCZyX2Vycm5vLCAmcl9l
eGNlcHQpOwogICAgcHJpbnRmKCJlcmZjKCUuMTdlKT0lLjE3ZVxuIiwgeCwgcmVzdWx0KTsKCiAg
ICBwcmludGYoIiVzICIsIChyX2Vycm5vID09IDApID8gIjAiIDoKICAgICAgICAgICAgICAgICAg
KHJfZXJybm8gPT0gRURPTSkgPyAiRURPTSIgOgogICAgICAgICAgICAgICAgICAocl9lcnJubyA9
PSBFUkFOR0UpID8gIkVSQU5HRSIgOiAiPz8/ZXJybm8/Pz8iKTsKCiAgICBwcmludGYoIiVzICIs
ICgocl9leGNlcHQgJiAoRkVfRElWQllaRVJPIHwgRkVfVU5ERVJGTE9XIHwKICAgICAgICAgICAg
ICAgICAgICAgICAgRkVfT1ZFUkZMT1cgfCBGRV9JTlZBTElEKSkgPT0gMCkgPyAiMCIgOgogICAg
ICAgICAgICAgICAgICAgKHJfZXhjZXB0ICYgRkVfRElWQllaRVJPKSA/ICJGRV9ESVZCWVpFUk8i
IDoKICAgICAgICAgICAgICAgICAgIChyX2V4Y2VwdCAmIEZFX1VOREVSRkxPVykgPyAiRkVfVU5E
RVJGTE9XIiA6CiAgICAgICAgICAgICAgICAgICAocl9leGNlcHQgJiBGRV9PVkVSRkxPVykgID8g
IkZFX09WRVJGTE9XIiA6CiAgICAgICAgICAgICAgICAgICAocl9leGNlcHQgJiBGRV9JTlZBTElE
KSAgID8gIkZFX0lOVkFMSUQiIDogIj8/P2V4Y2VwdD8/PyIpOwoKICAgIGludCByX2NsYXNzID0g
ZnBjbGFzc2lmeShyZXN1bHQpOwogICAgaW50IHJfc2lnbiA9IHNpZ25iaXQocmVzdWx0KSA/IC0x
IDogMTsKCiAgICBpZiAocl9jbGFzcyA9PSBGUF9JTkZJTklURSB8fCByX2NsYXNzID09IEZQX1pF
Uk8pIAogICAgICAgIHByaW50ZigiJXMiLCBzaWduYml0KHJlc3VsdCkgPyAiLSIgOiAiKyIpOwog
ICAgcHJpbnRmKCIlcyIsIChyX2NsYXNzID09IEZQX1pFUk8pID8gIjAiIDoKICAgICAgICAgICAg
ICAgICAgKHJfY2xhc3MgPT0gRlBfTkFOKSA/ICJuYW4iIDoKICAgICAgICAgICAgICAgICAgKHJf
Y2xhc3MgPT0gRlBfSU5GSU5JVEUpID8gImluZiIgOgogICAgICAgICAgICAgICAgICAocl9jbGFz
cyA9PSBGUF9OT1JNQUwpID8gIm5vcm1hbCIgOgogICAgICAgICAgICAgICAgICAocl9jbGFzcyA9
PSBGUF9TVUJOT1JNQUwpID8gInN1Ym5vcm1hbCIgOiAiPz8/Y2xhc3M/Pz8iKTsKCgogICAgaWYg
KGVfb3B0X3ByZXNlbnQpIHsKICAgICAgICBwcmludGYoIjsgIik7CiAgICAgICAgaW50IGVycm5v
X3Bhc3NlZCwgZXhjZXB0X3Bhc3NlZCwgY2xhc3NfcGFzc2VkLCBhbGxfcGFzc2VkOwoKICAgICAg
ICBlcnJub19wYXNzZWQgPSBkb250X2NoZWNrX2Vycm5vIHx8IChyX2Vycm5vID09IGVfZXJybm8p
OwogICAgICAgIGV4Y2VwdF9wYXNzZWQgPSBkb250X2NoZWNrX2V4Y2VwdCB8fAogICAgICAgICAg
ICAgICAgKGVfZXhjZXB0ID09IDAgJiYgKHJfZXhjZXB0ICYgfkZFX0lORVhBQ1QpID09IDApIHx8
CiAgICAgICAgICAgICAgICAoKHJfZXhjZXB0ICYgZV9leGNlcHQpICE9IDApOwogICAgICAgIGNs
YXNzX3Bhc3NlZCA9IGRvbnRfY2hlY2tfY2xhc3MgfHwKICAgICAgICAgICAgICAgICAgICAgICAo
dmFsdWVfZXhwZWN0ZWQgJiYgaW50X3ZhbHVlX2V4cGVjdGVkICYmCiAgICAgICAgICAgICAgICAg
ICAgICAgICFpc25hbihyZXN1bHQpICYmIHJlc3VsdCA9PSBlX3ZhbHVlKSB8fCAgCiAgICAgICAg
ICAgICAgICAgICAgICAgKHZhbHVlX2V4cGVjdGVkICYmICFpc25hbihyZXN1bHQpICYmCiAgICAg
ICAgICAgICAgICAgICAgICAgIGZhYnNsKChyZXN1bHQgLSBlX3ZhbHVlKSAvIGVfdmFsdWUpIDwg
MWUtNSkgfHwKICAgICAgICAgICAgICAgICAgICAgICAocl9jbGFzcyA9PSBlX2NsYXNzICYmIAog
ICAgICAgICAgICAgICAgICAgICAgICAoKHJfY2xhc3MgPT0gRlBfTkFOIHx8IHJfY2xhc3MgPT0g
RlBfTk9STUFMIHx8IAogICAgICAgICAgICAgICAgICAgICAgICAgIHJfY2xhc3MgPT0gRlBfU1VC
Tk9STUFMKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgcl9zaWduID09IGVfc2lnbikpOwoK
ICAgICAgICBwcmludGYoIiVzICIsIChyX2Vycm5vID09IGVfZXJybm8pID8gIm9rIiA6ICJmYWls
LWVycm5vIik7CiAgICAgICAgcHJpbnRmKCIlcyAiLCBleGNlcHRfcGFzc2VkID8gIm9rIiA6ICJm
YWlsLWV4Y2VwdCIpOwogICAgICAgIHByaW50ZigiJXMiLCBjbGFzc19wYXNzZWQgPyAib2siIDog
ImZhaWwtcmVzdWx0Iik7CgogICAgICAgIGFsbF9wYXNzZWQgPSBlcnJub19wYXNzZWQgJiYgZXhj
ZXB0X3Bhc3NlZCAmJiBjbGFzc19wYXNzZWQ7CgogICAgICAgIGlmICghYWxsX3Bhc3NlZCkKICAg
ICAgICAgICAgZXhpdF9zdGF0dXMgPSBFWElUX0ZBSUxVUkU7CgogICAgICAgIHByaW50ZigiOyAl
cyIsIGFsbF9wYXNzZWQgPyAiUEFTUyIgOiAiRkFJTCIpOwogICAgICAgIGlmICghYWxsX3Bhc3Nl
ZCkgewogICAgICAgICAgICBwcmludGYoIiAoZXhwZWN0ZWQ6ICIpOwogICAgICAgICAgICBpZiAo
ZV9lcnJubyA9PSAwICYmIGVfZXhjZXB0ID09IDApIHsKICAgICAgICAgICAgICAgIHByaW50Zigi
bm8tZXJyb3IiKTsKICAgICAgICAgICAgfSBlbHNlIGlmIChlX2Vycm5vID09IEVET00gJiYgZV9l
eGNlcHQgPT0gRkVfSU5WQUxJRCkgewogICAgICAgICAgICAgICAgcHJpbnRmKCJkb21haW4tZXJy
b3IiKTsKICAgICAgICAgICAgfSBlbHNlIGlmIChlX2Vycm5vID09IEVSQU5HRSAmJiBlX2V4Y2Vw
dCA9PSBGRV9PVkVSRkxPVykgewogICAgICAgICAgICAgICAgcHJpbnRmKCJyYW5nZS1lcnJvci1v
dmVyZmxvdyIpOwogICAgICAgICAgICB9IGVsc2UgaWYgKGVfZXJybm8gPT0gRVJBTkdFICYmIGVf
ZXhjZXB0ID09IEZFX1VOREVSRkxPVykgewogICAgICAgICAgICAgICAgcHJpbnRmKCJyYW5nZS1l
cnJvci11bmRlcmZsb3ciKTsKICAgICAgICAgICAgfSBlbHNlIGlmIChlX2Vycm5vID09IEVSQU5H
RSAmJiBlX2V4Y2VwdCA9PSBGRV9ESVZCWVpFUk8pIHsKICAgICAgICAgICAgICAgIHByaW50Zigi
cG9sZS1lcnJvciIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHByaW50ZigiICglcywgJXMp
OyAlcyIsIHBlcnJubywgcGV4Y2VwdCwgcGNsYXNzKTsKCiAgICAgICAgICAgIHByaW50ZigiKSIp
OwogICAgICAgIH0KICAgIH0KCiAgICBwcmludGYoIlxuXG4iKTsKICAgIGV4aXQoZXhpdF9zdGF0
dXMpOwp9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>