thanks for the workaround!


On Tue, Sep 16, 2014 at 3:42 PM, Nicholas Marriott <
nicholas.marri...@gmail.com> wrote:

> It should work if you start it with "tmux new" not "tmux".
>
>
> On Tue, Sep 16, 2014 at 03:37:59PM +0200, Thomas St??fe wrote:
> >    Yes you did. Sorry, just looked at the 1.9a sources, not your
> development
> >    sources.**
> >    Might probably make sense to roll this fix out, because right now tmux
> >    1.9a is unusable (it crashes on three of my linux machines).
> >    Kind Regards, Thomas St**fe
> >    On Tue, Sep 16, 2014 at 2:56 PM, Nicholas Marriott
> >    <[1]nicholas.marri...@gmail.com> wrote:
> >
> >      Hi. Pretty sure I already fixed this.
> >
> >      -------- Original message --------
> >      From: Thomas St**fe <[2]thomas.stu...@gmail.com>
> >      Date: 16/09/2014 13:22 (GMT+00:00)
> >      To: [3]tmux-users@lists.sourceforge.net
> >      Subject: Fix for buffer overwriter in cmd.c (cmd_pack_argv)
> >
> >      Hi all,
> >      I did run into a buffer overwriter which caused a crash when
> starting
> >      tmux on linux.
> >      I downloaded tmux 1.9a and installed it from the sources.
> >      tmux crashes (aborts) on my linux machine right after start in the
> libc
> >      with the following callstack:
> >      Program terminated with signal 6, Aborted.
> >      #0 **0x00007f51f5d09b55 in raise () from /lib64/libc.so.6
> >      (gdb) where
> >      #0 **0x00007f51f5d09b55 in raise () from /lib64/libc.so.6
> >      #1 **0x00007f51f5d0b131 in abort () from /lib64/libc.so.6
> >      #2 **0x00007f51f5d4d640 in malloc_printerr () from /lib64/libc.so.6
> >      #3 **0x00000000004066b3 in client_main ()
> >      #4 **0x0000000000434342 in main ()
> >      The crash is in a call to free(2).**
> >      The crash is caused by a buffer overwriter in cmd_pack_argv() in
> cmd.c.
> >      The error is that**
> >      the function unconditionally writes '\0' to the first byte of the
> output
> >      buffer without checking
> >      output buffer size or argc.**
> >      If argc is 0, output buffer size is 0, and we overwrite one byte
> beyond
> >      the range allocated at
> >      client_main() (client.c line 291).
> >      This does not always lead to an error; depends on whether there are
> any
> >      important data
> >      beyond the allocated 4 bytes.
> >      I believe the small patch below fixes the bug; at least it makes
> the bug
> >      disappear on my**
> >      machine:
> >      --- cmd.c_  2014-09-16 14:07:01.000000000 +0200
> >      +++ cmd.c  2014-09-16 14:07:49.000000000 +0200
> >      @@ -138,6 +138,10 @@
> >      **  size_t  arglen;
> >      **  int  i;
> >      **
> >      + **if (argc == 0) {
> >      + ** **return (0);
> >      + **}
> >      +
> >      **  *buf = '\0';
> >      **  for (i = 0; i < argc; i++) {
> >      **  if (strlcpy(buf, argv[i], len) >= len)
> >      Kind Regards, Thomas St**fe
> >
> > References
> >
> >    Visible links
> >    1. mailto:nicholas.marri...@gmail.com
> >    2. mailto:thomas.stu...@gmail.com
> >    3. mailto:tmux-users@lists.sourceforge.net
>
------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce.
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users

Reply via email to