Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Jun 2008 00:50:03 GMT
From:      "Garrett Cooper" <gcooper@FreeBSD.org>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: misc/124748: sh -c 'exit -1' fails with "Illegal number: -1", instead of exiting with a code of 255
Message-ID:  <200806200050.m5K0o3se084251@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/124748; it has been noted by GNATS.

From: "Garrett Cooper" <gcooper@FreeBSD.org>
To: "Garrett Cooper" <gcooper@freebsd.org>
Cc: "Edwin Groothuis" <edwin@mavetju.org>, 
	"FreeBSD Gnats Submit" <freebsd-gnats-submit@freebsd.org>
Subject: Re: misc/124748: sh -c 'exit -1' fails with "Illegal number: -1", instead of exiting with a code of 255
Date: Thu, 19 Jun 2008 17:44:29 -0700

 ------=_Part_7292_27631637.1213922669108
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline
 
 On Thu, Jun 19, 2008 at 3:18 PM, Garrett Cooper <gcooper@freebsd.org> wrote:
 > On Thu, Jun 19, 2008 at 2:45 PM, Edwin Groothuis <edwin@mavetju.org> wrote:
 >> On Thu, Jun 19, 2008 at 07:03:10AM +0000, Garrett Cooper wrote:
 >>> ===================================================================
 >>> RCS file: /home/ncvs/src/bin/sh/exec.c,v
 >>> retrieving revision 1.31
 >>> diff -r1.31 exec.c
 >>> 40a41
 >>> > #include <string.h>
 >>> 361c362
 >>> <                     if (prefix("builtin", pathopt)) {
 >>> ---
 >>> >                     if (strncmp(BUILTIN, pathopt, strlen(BUILTIN)) == 0) {
 >>> Index: histedit.c
 >>> ===================================================================
 >>
 >> I don't want to be a pain, but could you do this with "diff -u" in
 >> case there is some context required?
 >>
 >> Edwin
 >
 > Will do once I get home.
 > -Garrett
 
 Here's a new patch.
 -Garrett
 
 ------=_Part_7292_27631637.1213922669108
 Content-Type: text/x-patch; name=sh_fix_numbers.patch
 Content-Transfer-Encoding: base64
 X-Attachment-Id: f_fho27fxf0
 Content-Disposition: attachment; filename=sh_fix_numbers.patch
 
 SW5kZXg6IGV4ZWMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9uY3ZzL3NyYy9iaW4vc2gv
 ZXhlYy5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjMxCmRpZmYgLXUgLXIxLjMxIGV4ZWMuYwot
 LS0gZXhlYy5jCTE4IEphbiAyMDA3IDIyOjMxOjIyIC0wMDAwCTEuMzEKKysrIGV4ZWMuYwkyMCBK
 dW4gMjAwOCAwMDo0MDoxNiAtMDAwMApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgPHN5cy9j
 ZGVmcy5oPgogX19GQlNESUQoIiRGcmVlQlNEOiBzcmMvYmluL3NoL2V4ZWMuYyx2IDEuMzEgMjAw
 Ny8wMS8xOCAyMjozMToyMiBzdGVmYW5mIEV4cCAkIik7CiAKKyNpbmNsdWRlIDxzdHJpbmcuaD4K
 ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KICNpbmNsdWRlIDxzeXMvc3RhdC5oPgogI2luY2x1ZGUg
 PHVuaXN0ZC5oPgpAQCAtMzU4LDcgKzM1OSw3IEBACiAJCXN0dW5hbGxvYyhmdWxsbmFtZSk7CiAJ
 CWluZGV4Kys7CiAJCWlmIChwYXRob3B0KSB7Ci0JCQlpZiAocHJlZml4KCJidWlsdGluIiwgcGF0
 aG9wdCkpIHsKKwkJCWlmIChzdHJuY21wKEJVSUxUSU4sIHBhdGhvcHQsIHN0cmxlbihCVUlMVElO
 KSkgPT0gMCkgewogCQkJCWlmICgoaSA9IGZpbmRfYnVpbHRpbihuYW1lLCAmc3BlYykpIDwgMCkK
 IAkJCQkJZ290byBsb29wOwogCQkJCUlOVE9GRjsKSW5kZXg6IGhpc3RlZGl0LmMKPT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PQpSQ1MgZmlsZTogL2hvbWUvbmN2cy9zcmMvYmluL3NoL2hpc3RlZGl0LmMsdgpyZXRyaWV2aW5n
 IHJldmlzaW9uIDEuMjkKZGlmZiAtdSAtcjEuMjkgaGlzdGVkaXQuYwotLS0gaGlzdGVkaXQuYwk0
 IEF1ZyAyMDA2IDA3OjU2OjMxIC0wMDAwCTEuMjkKKysrIGhpc3RlZGl0LmMJMjAgSnVuIDIwMDgg
 MDA6NDA6MTYgLTAwMDAKQEAgLTQyMiw4ICs0MjIsNiBAQAogewogCWlmIChzID09IE5VTEwpCiAJ
 CXJldHVybiAoMCk7Ci0JaWYgKCpzID09ICctJykKLQkJcysrOwogCXJldHVybiAoIWlzX251bWJl
 cihzKSk7CiB9CiAKSW5kZXg6IGpvYnMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9uY3Zz
 L3NyYy9iaW4vc2gvam9icy5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjcyCmRpZmYgLXUgLXIx
 LjcyIGpvYnMuYwotLS0gam9icy5jCTcgT2N0IDIwMDYgMTY6NTE6MTYgLTAwMDAJMS43MgorKysg
 am9icy5jCTIwIEp1biAyMDA4IDAwOjQwOjE3IC0wMDAwCkBAIC01MzEsMTMgKzUzMSwxNyBAQAog
 I2lmIEpPQlMKIGN1cnJlbnRqb2I6CWlmICgoanAgPSBnZXRjdXJqb2IoTlVMTCkpID09IE5VTEwp
 CiAJCQllcnJvcigiTm8gY3VycmVudCBqb2IiKTsKLQkJcmV0dXJuIChqcCk7CisJCXJldHVybiBq
 cDsKICNlbHNlCiAJCWVycm9yKCJObyBjdXJyZW50IGpvYiIpOwogI2VuZGlmCiAJfSBlbHNlIGlm
 IChuYW1lWzBdID09ICclJykgewogCQlpZiAoaXNfZGlnaXQobmFtZVsxXSkpIHsKLQkJCWpvYm5v
 ID0gbnVtYmVyKG5hbWUgKyAxKTsKKwkJCS8qCisJCQkgKiBEb24ndCB1c2UgbnVtYmVyKCkgaGVy
 ZS4gVGhpcyBicmVha3MgZXhpc3RpbmcKKwkJCSAqIGpvYnMoMSkgY29tcGF0aWJpbGl0eS4KKwkJ
 CSAqLworCQkJam9ibm8gPSBhdG9pKG5hbWUgKyAxKTsKIAkJCWlmIChqb2JubyA+IDAgJiYgam9i
 bm8gPD0gbmpvYnMKIAkJCSAmJiBqb2J0YWJbam9ibm8gLSAxXS51c2VkICE9IDApCiAJCQkJcmV0
 dXJuICZqb2J0YWJbam9ibm8gLSAxXTsKQEAgLTU1Nyw3ICs1NjEsNyBAQAogCQkJZm9yIChqcCA9
 IGpvYnRhYiwgaSA9IG5qb2JzIDsgLS1pID49IDAgOyBqcCsrKSB7CiAJCQkJaWYgKGpwLT51c2Vk
 ICYmIGpwLT5ucHJvY3MgPiAwCiAJCQkJICYmIHN0cnN0cihqcC0+cHNbMF0uY21kLCBuYW1lICsg
 MikgIT0gTlVMTCkgewotCQkJCQlpZiAoZm91bmQpCisJCQkJCWlmIChmb3VuZCAhPSBOVUxMKQog
 CQkJCQkJZXJyb3IoIiVzOiBhbWJpZ3VvdXMiLCBuYW1lKTsKIAkJCQkJZm91bmQgPSBqcDsKIAkJ
 CQl9CkBAIC01NjgsMTcgKzU3MiwxOCBAQAogCQkJZm91bmQgPSBOVUxMOwogCQkJZm9yIChqcCA9
 IGpvYnRhYiwgaSA9IG5qb2JzIDsgLS1pID49IDAgOyBqcCsrKSB7CiAJCQkJaWYgKGpwLT51c2Vk
 ICYmIGpwLT5ucHJvY3MgPiAwCi0JCQkJICYmIHByZWZpeChuYW1lICsgMSwganAtPnBzWzBdLmNt
 ZCkpIHsKLQkJCQkJaWYgKGZvdW5kKQorCQkJCSAmJiBzdHJuY21wKG5hbWUrMSwganAtPnBzWzBd
 LmNtZCwgc3RybGVuKG5hbWUrMSkpKSB7CisJCQkJCWlmIChmb3VuZCAhPSBOVUxMKQogCQkJCQkJ
 ZXJyb3IoIiVzOiBhbWJpZ3VvdXMiLCBuYW1lKTsKIAkJCQkJZm91bmQgPSBqcDsKIAkJCQl9CiAJ
 CQl9Ci0JCQlpZiAoZm91bmQpCi0JCQkJcmV0dXJuIGZvdW5kOworCQkJaWYgKGZvdW5kICE9IE5V
 TEwpCisJCQkJcmV0dXJuIChmb3VuZCk7CiAJCX0KIAl9IGVsc2UgaWYgKGlzX251bWJlcihuYW1l
 KSkgewotCQlwaWQgPSAocGlkX3QpbnVtYmVyKG5hbWUpOworCQkvKiBubyBuZWVkIHRvIHJ1biBp
 c19udW1iZXIoKSBhZ2FpbiB3aXRoIG51bWJlcigpICovCisJCXBpZCA9IChwaWRfdClhdG9pKG5h
 bWUpOwogCQlmb3IgKGpwID0gam9idGFiLCBpID0gbmpvYnMgOyAtLWkgPj0gMCA7IGpwKyspIHsK
 IAkJCWlmIChqcC0+dXNlZCAmJiBqcC0+bnByb2NzID4gMAogCQkJICYmIGpwLT5wc1tqcC0+bnBy
 b2NzIC0gMV0ucGlkID09IHBpZCkKSW5kZXg6IG1haW4uaAo9PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAv
 aG9tZS9uY3ZzL3NyYy9iaW4vc2gvbWFpbi5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjgKZGlm
 ZiAtdSAtcjEuOCBtYWluLmgKLS0tIG1haW4uaAk2IEFwciAyMDA0IDIwOjA2OjUxIC0wMDAwCTEu
 OAorKysgbWFpbi5oCTIwIEp1biAyMDA4IDAwOjQwOjE3IC0wMDAwCkBAIC0zNiw2ICszNiw4IEBA
 CiBleHRlcm4gaW50IHJvb3RwaWQ7CS8qIHBpZCBvZiBtYWluIHNoZWxsICovCiBleHRlcm4gaW50
 IHJvb3RzaGVsbDsJLyogdHJ1ZSBpZiB3ZSBhcmVuJ3QgYSBjaGlsZCBvZiB0aGUgbWFpbiBzaGVs
 bCAqLwogCisjZGVmaW5lIEJVSUxUSU4gImJ1aWx0aW4iCisKIHZvaWQgcmVhZGNtZGZpbGUoY2hh
 ciAqKTsKIHZvaWQgY21kbG9vcChpbnQpOwogaW50IGRvdGNtZChpbnQsIGNoYXIgKiopOwpJbmRl
 eDogbXlzdHJpbmcuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9uY3ZzL3NyYy9iaW4vc2gv
 bXlzdHJpbmcuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMwpkaWZmIC11IC1yMS4xMyBteXN0
 cmluZy5jCi0tLSBteXN0cmluZy5jCTYgQXByIDIwMDQgMjA6MDY6NTEgLTAwMDAJMS4xMworKysg
 bXlzdHJpbmcuYwkyMCBKdW4gMjAwOCAwMDo0MDoxNyAtMDAwMApAQCAtNTQsNiArNTQsOSBAQAog
 I2luY2x1ZGUgImVycm9yLmgiCiAjaW5jbHVkZSAibXlzdHJpbmcuaCIKIAorI2lmIERFQlVHCisj
 aW5jbHVkZSA8c3RkaW8uaD4KKyNlbmRpZgogCiBjaGFyIG51bGxzdHJbMV07CQkvKiB6ZXJvIGxl
 bmd0aCBzdHJpbmcgKi8KIApAQCAtMTIxLDkgKzEyNCw0MyBAQAogaW50CiBpc19udW1iZXIoY29u
 c3QgY2hhciAqcCkKIHsKKwkvKiBJcyB0aGlzIHRoZSBmaXJzdCBpbmRleD8gKi8KKwlpbnQgaXRl
 ciA9IDA7CisKKyNpZiBERUJVRworI2RlZmluZSBQUklOVF9ERUJVRyBmcHJpbnRmKHN0ZGVyciwg
 IiVkOiAlY1xuIiwgaXRlciwgKnApCisjZWxzZQorI2RlZmluZSBQUklOVF9ERUJVRyAgCisjZW5k
 aWYKKwogCWRvIHsKLQkJaWYgKCEgaXNfZGlnaXQoKnApKQorCQkvKgorCQkgKiBBY2NvdW50IGZv
 ciBzaWducyBpbiBmcm9udCBvZiBudW1iZXJzLgorCQkgKi8KKworCQkvKgorCQkgKiBYWFg6IGRv
 ZXMgUE9TSVggYm91cm5lIHNoZWxsIGFsbG93IGZvciAnKycgcHJlZml4ZWQKKwkJICogbnVtYmVy
 cz8KKwkJICovCisKKwkJLyoKKwkJICogVGhlIHN0cmluZyBkZWZpbmVkIGJ5ICpwIGlzbid0IGEg
 bnVtYmVyLCB1bmxlc3M6CisJCSAqIAkxLiBJdCdzIGEgZGlnaXQuCisJCSAqIAkyLiBUaGUgMCd0
 aCBpbmRleCBpcyBlaXRoZXIgYSArIG9yIC0uCisJCSAqLworCQlpZiAoIShpc19kaWdpdCgqcCkg
 fHwKKwkJICAgICAoaXRlciA9PSAwICYmICgqcCA9PSAnLScgfHwgKnAgPT0gJysnKSkpCisJCSkg
 eworCQkJUFJJTlRfREVCVUc7CiAJCQlyZXR1cm4gMDsKKwkJfQorCisJCVBSSU5UX0RFQlVHOwor
 CisjdW5kZWYgUFJJTlRfREVCVUcKKworCQlpdGVyKys7CisKIAl9IHdoaWxlICgqKytwICE9ICdc
 MCcpOwogCXJldHVybiAxOwogfQo=
 ------=_Part_7292_27631637.1213922669108--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200806200050.m5K0o3se084251>