insmod broken in 1.1.1

Jean Wolter jw5 at os.inf.tu-dresden.de
Fri Mar 24 12:04:57 PST 2006


Bernhard Fischer <rep.nop at aon.at> writes:

> insmod was broken by Robert P. J. Day and apparently ci by Rob:
> http://busybox.net/lists/busybox/2006-March/019043.html
>
> Robert, this has come up before, iirc, but i don't seem to see a patch
> which corrects this?

I reported this yesterday, Message-ID:
<86acbhz7c9.fsf at erwin.inf.tu-dresden.de>, but for some reasons the
mail doesn't show up in the busybox ml archive. Just to make sure, the
tr problem doesn't get lost, I will quote it again:

<quote>
- insmod is broken for little endian machines. It is the only applet
  checking for BB_LITTLE_ENDIAN, which is not defined
  anywhere. Everyone else checks for the opposite BB_BIG_ENDIAN.

#if BB_LITTLE_ENDIAN
# define ELFDATAM       ELFDATA2LSB
#else
# define ELFDATAM       ELFDATA2MSB
#endif

- tr raises a segmentation fault when invoked as tr '[a-z]' '[A-Z]';
  looks like expand() gets the pointer positioning wrong:

                } else if (*arg == '[') {
                        arg++;
                        if (*arg++ != '-') {
                                *buffer++ = '[';
                                arg -= 2;
                                continue;
                        }

  arg points to '[' again and therefore runs into an endless loop
  which is terminated by a sigsegv.
</quote>

regards,
Jean


More information about the busybox mailing list