Re: ptx bug -- unbounded buffer overflow

2008-03-21 Thread Jim Meyering
Cristian Cadar <[EMAIL PROTECTED]> wrote:
>   Hello, I'm part of a research group at Stanford, working on automatic
> bug-finding tools.  We are currently testing coreutils, and we found a
> crash bug in ptx due to an unbounded buffer overflow.
>
>   Here is a trivial test case that triggers the bug in the current
> version of coreutils (6.10):
>
> $ ptx -F\\
>
>   Another example, which overflows more bytes would be:
> $ ptx -F\\ abcdef
>
> (the overflow increases w/ the length of the second argument).
>
>   The problem is in function copy_unescaped_string(const char *string),
> which in the presence of backslashes can advance the pointer "string"
> past the end of the buffer.  This in turn causes an unbounded overflow
> of the buffer malloc-ed at the very beginning of the function, which in
> turn can be used to corrupt the heap metadata and crash the program.

Thank you for finding/reporting that.  It is indeed a bug.
I've included a patch and a test-suite addition below.

Are your tools freely available?

If you have any more reports like that, please send them in soon.
I expect to make a new release in the next week or two.

Regarding attribution, for now, I've listed only your name
in the commit log and THANKS file.
Let me know if something else would be more appropriate.

ptx: avoid heap overrun for backslash at end of optarg string
* src/ptx.c (copy_unescaped_string): Ignore a lone backslash
at end of string.  Reported by Cristian Cadar.
* tests/misc/Makefile.am (TESTS): Add ptx-overrun.
* tests/misc/ptx-overrun: New file.  Test for the above fix.
* NEWS: Mention the fix.

Signed-off-by: Jim Meyering <[EMAIL PROTECTED]>
---
 NEWS   |5 +
 THANKS |1 +
 src/ptx.c  |4 
 tests/misc/Makefile.am |3 ++-
 tests/misc/ptx-overrun |   40 
 5 files changed, 52 insertions(+), 1 deletions(-)
 create mode 100755 tests/misc/ptx-overrun

diff --git a/NEWS b/NEWS
index 93f1331..3be7db8 100644
--- a/NEWS
+++ b/NEWS
@@ -16,6 +16,11 @@ GNU coreutils NEWS-*- 
outline -*-
   when the destination had two or more hard links.  It no longer does that.
   [bug introduced in coreutils-5.3.0]

+  "ptx -F'\' long-file-name" would overrun a malloc'd buffer and corrupt
+  the heap.  That was triggered by a lone backslash (or odd number of them)
+  at the end of the option argument to --flag-truncation=STRING (-F),
+  --word-regexp=REGEXP (-W), or --sentence-regexp=REGEXP (-S).
+
   "rmdir --ignore-fail-on-non-empty" detects and ignores the failure
   in more cases when a directory is empty.

diff --git a/THANKS b/THANKS
index 186bf5f..b5dc348 100644
--- a/THANKS
+++ b/THANKS
@@ -105,6 +105,7 @@ Colin Plumb [EMAIL PROTECTED]
 Colin Watson[EMAIL PROTECTED]
 Collin Rogowski [EMAIL PROTECTED]
 Cray-Cyber Project  http://www.cray-cyber.org
+Cristian Cadar  [EMAIL PROTECTED]
 Cyril Bouthors  [EMAIL PROTECTED]
 Dale Scheetz[EMAIL PROTECTED]
 Dan Hagerty [EMAIL PROTECTED]
diff --git a/src/ptx.c b/src/ptx.c
index dafcbe2..8f7ae95 100644
--- a/src/ptx.c
+++ b/src/ptx.c
@@ -388,6 +388,10 @@ copy_unescaped_string (const char *string)
  string++;
  break;

+   case '\0':  /* lone backslash at end of string */
+ /* ignore it */
+ break;
+
default:
  *cursor++ = '\\';
  *cursor++ = *string++;
diff --git a/tests/misc/Makefile.am b/tests/misc/Makefile.am
index 2be132f..f3ed132 100644
--- a/tests/misc/Makefile.am
+++ b/tests/misc/Makefile.am
@@ -1,6 +1,6 @@
 # Make miscellaneous coreutils tests.  -*-Makefile-*-

-# Copyright (C) 2001-2007 Free Software Foundation, Inc.
+# Copyright (C) 2001-2008 Free Software Foundation, Inc.

 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -38,6 +38,7 @@ TESTS = \
   ls-time \
   ls-misc \
   date \
+  ptx-overrun \
   xstrtol \
   od \
   mktemp \
diff --git a/tests/misc/ptx-overrun b/tests/misc/ptx-overrun
new file mode 100755
index 000..beadf7f
--- /dev/null
+++ b/tests/misc/ptx-overrun
@@ -0,0 +1,40 @@
+#!/bin/sh
+# Trigger a heap-clobbering bug in ptx from coreutils-6.10 and earlier.
+
+# Copyright (C) 2008 Free Software Foundation, Inc.
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY 

[PATCH] src/remove.c: cache_fstatat() broken on systems with negative errnos

2008-03-21 Thread Ingo Weinhold
Howdy,

on systems with negative errno values (BeOS, Haiku) the method used in the 
cache_fstatat() function in src/remove.c is broken (st_size will become 
positive on error). The attached patch changes the function to use the 
st_ino field to store the errno value instead, which should work on all 
platforms.

CU, Ingodiff --git a/src/remove.c b/src/remove.c
index 1658fb9..dc84508 100644
--- a/src/remove.c
+++ b/src/remove.c
@@ -171,16 +171,19 @@ static size_t g_n_allocated;
 
 /* Like fstatat, but cache the result.  If ST->st_size is -1, the
status has not been gotten yet.  If less than -1, fstatat failed
-   with errno == -1 - ST->st_size.  Otherwise, the status has already
+   with errno == ST->st_ino.  Otherwise, the status has already
been gotten, so return 0.  */
 static int
 cache_fstatat (int fd, char const *file, struct stat *st, int flag)
 {
   if (st->st_size == -1 && fstatat (fd, file, st, flag) != 0)
-st->st_size = -1 - errno;
+{
+  st->st_size = -2;
+  st->st_ino = errno;
+   }
   if (0 <= st->st_size)
 return 0;
-  errno = -1 - st->st_size;
+  errno = (int) st->st_ino;
   return -1;
 }
 ___
Bug-coreutils mailing list
Bug-coreutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-coreutils


Re: [PATCH] src/remove.c: cache_fstatat() broken on systems with negative errnos

2008-03-21 Thread Jim Meyering
Ingo Weinhold <[EMAIL PROTECTED]> wrote:
> on systems with negative errno values (BeOS, Haiku) the method used in the
> cache_fstatat() function in src/remove.c is broken (st_size will become
> positive on error). The attached patch changes the function to use the
> st_ino field to store the errno value instead, which should work on all
> platforms.

Thanks for the patch.
I've applied it and updated NEWS and c99-to-c89.diff:


>From e73dfc3899c2a622c91c0948610a1c5c1e1972d1 Mon Sep 17 00:00:00 2001
From: Ingo Weinhold <[EMAIL PROTECTED]>
Date: Fri, 21 Mar 2008 14:10:27 +0100
Subject: [PATCH] remove.c: Accommodate systems with negative errno values.

* src/remove.c (cache_fstatat): Store errno value directly in
the st_ino field, rather than trying to shoehorn it into st_size.
This is required at least on BeOS and Haiku.

Signed-off-by: Jim Meyering <[EMAIL PROTECTED]>
---
 src/remove.c |9 ++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/remove.c b/src/remove.c
index 1658fb9..9c6dc9e 100644
--- a/src/remove.c
+++ b/src/remove.c
@@ -171,16 +171,19 @@ static size_t g_n_allocated;

 /* Like fstatat, but cache the result.  If ST->st_size is -1, the
status has not been gotten yet.  If less than -1, fstatat failed
-   with errno == -1 - ST->st_size.  Otherwise, the status has already
+   with errno == ST->st_ino.  Otherwise, the status has already
been gotten, so return 0.  */
 static int
 cache_fstatat (int fd, char const *file, struct stat *st, int flag)
 {
   if (st->st_size == -1 && fstatat (fd, file, st, flag) != 0)
-st->st_size = -1 - errno;
+{
+  st->st_size = -2;
+  st->st_ino = errno;
+}
   if (0 <= st->st_size)
 return 0;
-  errno = -1 - st->st_size;
+  errno = (int) st->st_ino;
   return -1;
 }

--
1.5.5.rc0.22.g467c


>From 6e5bbc267a65946bc5f1cfc69301c6c378c8795a Mon Sep 17 00:00:00 2001
From: Jim Meyering <[EMAIL PROTECTED]>
Date: Fri, 21 Mar 2008 14:15:54 +0100
Subject: [PATCH] Write NEWS and update c99-to-c89 patch for today's rm 
improvement.

* NEWS: call this a "portability improvement" ;-)
* src/c99-to-c89.diff: Adjust remove.c offsets.

Signed-off-by: Jim Meyering <[EMAIL PROTECTED]>
---
 NEWS|5 +
 src/c99-to-c89.diff |   50 +-
 2 files changed, 30 insertions(+), 25 deletions(-)

diff --git a/NEWS b/NEWS
index 93f1331..3433668 100644
--- a/NEWS
+++ b/NEWS
@@ -42,6 +42,11 @@ GNU coreutils NEWS-*- 
outline -*-

   seq gives better diagnostics for invalid formats.

+** Portability
+
+  rm now works properly even on systems like BeOS and Haiku,
+  which have negative errno values.
+
 ** Consistency

   install, mkdir, rmdir and split now write --verbose output to stdout,
diff --git a/src/c99-to-c89.diff b/src/c99-to-c89.diff
index 286f276..98c93c6 100644
--- a/src/c99-to-c89.diff
+++ b/src/c99-to-c89.diff
@@ -1,7 +1,25 @@
+--- src/id.c   2008-03-04 18:50:55.0 +0100
 src/id.c   2008-03-04 19:32:24.0 +0100
+@@ -196,6 +196,7 @@ of a different user"));
+ error (EXIT_FAILURE, 0,
+  _("cannot print only names or real IDs in default format"));
+
++  {
+   char const *user_name;
+   if (argc - optind == 1)
+ {
+@@ -239,6 +240,7 @@ of a different user"));
+ {
+   print_full_info (user_name);
+ }
++  }
+   putchar ('\n');
+
+   exit (ok ? EXIT_SUCCESS : EXIT_FAILURE);
 diff -upr src/remove.c src/remove.c
 --- src/remove.c   2007-07-23 12:56:20.0 +0200
 +++ src/remove.c   2007-07-23 13:03:12.0 +0200
-@@ -261,9 +261,10 @@ pop_dir (Dirstack_state *ds)
+@@ -264,9 +264,10 @@ pop_dir (Dirstack_state *ds)
  {
size_t n_lengths = obstack_object_size (&ds->len_stack) / sizeof (size_t);
size_t *length = obstack_base (&ds->len_stack);
@@ -13,7 +31,7 @@ diff -upr src/remove.c src/remove.c
assert (top_len >= 2);

/* Pop the specified length of file name.  */
-@@ -421,10 +422,11 @@ AD_stack_top (Dirstack_state const *ds)
+@@ -424,10 +425,11 @@ AD_stack_top (Dirstack_state const *ds)
  static void
  AD_stack_pop (Dirstack_state *ds)
  {
@@ -26,7 +44,7 @@ diff -upr src/remove.c src/remove.c
if (top->unremovable)
  hash_free (top->unremovable);
obstack_blank (&ds->Active_dir, -(int) sizeof (struct AD_ent));
-@@ -876,6 +878,7 @@ prompt (int fd_cwd, Dirstack_state const
+@@ -879,6 +881,7 @@ prompt (int fd_cwd, Dirstack_state const
break;
  }

@@ -34,7 +52,7 @@ diff -upr src/remove.c src/remove.c
char const *quoted_name = quote (full_filename (filename));

if (0 < write_protected)
-@@ -915,6 +918,7 @@ prompt (int fd_cwd, Dirstack_state const
+@@ -918,6 +921,7 @@ prompt (int fd_cwd, Dirstack_state const
: _("%s: remove %s %s? ")),
   program_name, file_type (sbuf), quoted_name);
}
@@ -42,7 +60,7 @@ diff -upr src/remove.c src/remove.c

 

Re: FYI: new snapshot and an upcoming release

2008-03-21 Thread Jim Meyering
Mike Frysinger <[EMAIL PROTECTED]> wrote:
> On Thursday 20 March 2008, Jim Meyering wrote:
...
>>   http://meyering.net/cu/coreutils-6.10.133-677610.tar.gz
>>   http://meyering.net/cu/coreutils-6.10.133-677610.tar.lzma
>
> i get 4 test failures on x86_64/linux running as root:
> FAIL: no-give-up.log
> FAIL: fail-2eperm.log
> FAIL: special-bits.log
> FAIL: now-owned-by-other.log

Hi Mike,

Thanks for the quick feedback!

You probably know, but just in case, ...
realize that running such tests as root is risky,
especially on a system with potentially hostile users.

I can reproduce precisely those failures, but only if I forget that
when running tests as root there's a special added incantation ;-)
mentioned in README:
[Yes, eventually, someone will make the added bit automatic,
 so there is no need for anything additional. ]

**
Running tests as root:
--

If you run the tests as root, note that a few of them create files
and/or run programs as a non-root user, `nobody' by default.
If you want to use some other non-root username, specify it via
the NON_ROOT_USERNAME environment variable.  Depending on the
permissions with which the working directories have been created,
using `nobody' may fail, because that user won't have the required
read and write access to the build and test directories.
I find that it is best to unpack and build as a non-privileged
user, and then to run the following command as that user in order
to run the privilege-requiring tests:

  sudo env NON_ROOT_USERNAME=$USER make -k check-root

If you can run the tests as root, please do so and report any
problems.  We get much less test coverage in that mode, and it's
arguably more important that these tools work well when run by
root than when run by less privileged users.


___
Bug-coreutils mailing list
Bug-coreutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-coreutils


Re: ptx bug -- unbounded buffer overflow

2008-03-21 Thread Cristian Cadar

  Hello Jim,

  Thanks for the prompt answer.
  Could you please acknowledge Daniel Dunbar ([EMAIL PROTECTED]) and
Dawson Engler ([EMAIL PROTECTED]) as well?
  
  Our tool works by generating test cases that achieve very high
statement and branch coverage.  At this point, the tool is not mature
enough for distribution, but if you'd like to send you the test suites
that we generate after we finish our study, we can do that.

  We'll send you any more bug reports that our tool generates.  We plan
to focus on coreutils over the next two weeks, so this synchronizes well
with your release deadline.

  Best,
  Cristian

On Fri, 2008-03-21 at 11:11 +0100, Jim Meyering wrote:
> Cristian Cadar <[EMAIL PROTECTED]> wrote:
> >   Hello, I'm part of a research group at Stanford, working on automatic
> > bug-finding tools.  We are currently testing coreutils, and we found a
> > crash bug in ptx due to an unbounded buffer overflow.
> >
> >   Here is a trivial test case that triggers the bug in the current
> > version of coreutils (6.10):
> >
> > $ ptx -F\\
> >
> >   Another example, which overflows more bytes would be:
> > $ ptx -F\\ abcdef
> >
> > (the overflow increases w/ the length of the second argument).
> >
> >   The problem is in function copy_unescaped_string(const char *string),
> > which in the presence of backslashes can advance the pointer "string"
> > past the end of the buffer.  This in turn causes an unbounded overflow
> > of the buffer malloc-ed at the very beginning of the function, which in
> > turn can be used to corrupt the heap metadata and crash the program.
> 
> Thank you for finding/reporting that.  It is indeed a bug.
> I've included a patch and a test-suite addition below.
> 
> Are your tools freely available?
> 
> If you have any more reports like that, please send them in soon.
> I expect to make a new release in the next week or two.
> 
> Regarding attribution, for now, I've listed only your name
> in the commit log and THANKS file.
> Let me know if something else would be more appropriate.
> 
>   ptx: avoid heap overrun for backslash at end of optarg string
>   * src/ptx.c (copy_unescaped_string): Ignore a lone backslash
>   at end of string.  Reported by Cristian Cadar.
>   * tests/misc/Makefile.am (TESTS): Add ptx-overrun.
>   * tests/misc/ptx-overrun: New file.  Test for the above fix.
>   * NEWS: Mention the fix.
> 
> Signed-off-by: Jim Meyering <[EMAIL PROTECTED]>
> ---
>  NEWS   |5 +
>  THANKS |1 +
>  src/ptx.c  |4 
>  tests/misc/Makefile.am |3 ++-
>  tests/misc/ptx-overrun |   40 
>  5 files changed, 52 insertions(+), 1 deletions(-)
>  create mode 100755 tests/misc/ptx-overrun
> 
> diff --git a/NEWS b/NEWS
> index 93f1331..3be7db8 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -16,6 +16,11 @@ GNU coreutils NEWS-*- 
> outline -*-
>when the destination had two or more hard links.  It no longer does that.
>[bug introduced in coreutils-5.3.0]
> 
> +  "ptx -F'\' long-file-name" would overrun a malloc'd buffer and corrupt
> +  the heap.  That was triggered by a lone backslash (or odd number of them)
> +  at the end of the option argument to --flag-truncation=STRING (-F),
> +  --word-regexp=REGEXP (-W), or --sentence-regexp=REGEXP (-S).
> +
>"rmdir --ignore-fail-on-non-empty" detects and ignores the failure
>in more cases when a directory is empty.
> 
> diff --git a/THANKS b/THANKS
> index 186bf5f..b5dc348 100644
> --- a/THANKS
> +++ b/THANKS
> @@ -105,6 +105,7 @@ Colin Plumb [EMAIL PROTECTED]
>  Colin Watson[EMAIL PROTECTED]
>  Collin Rogowski [EMAIL PROTECTED]
>  Cray-Cyber Project  http://www.cray-cyber.org
> +Cristian Cadar  [EMAIL PROTECTED]
>  Cyril Bouthors  [EMAIL PROTECTED]
>  Dale Scheetz[EMAIL PROTECTED]
>  Dan Hagerty [EMAIL PROTECTED]
> diff --git a/src/ptx.c b/src/ptx.c
> index dafcbe2..8f7ae95 100644
> --- a/src/ptx.c
> +++ b/src/ptx.c
> @@ -388,6 +388,10 @@ copy_unescaped_string (const char *string)
> string++;
> break;
> 
> + case '\0':  /* lone backslash at end of string */
> +   /* ignore it */
> +   break;
> +
>   default:
> *cursor++ = '\\';
> *cursor++ = *string++;
> diff --git a/tests/misc/Makefile.am b/tests/misc/Makefile.am
> index 2be132f..f3ed132 100644
> --- a/tests/misc/Makefile.am
> +++ b/tests/misc/Makefile.am
> @@ -1,6 +1,6 @@
>  # Make miscellaneous coreutils tests.-*-Makefile-*-
> 
> -# Copyright (C) 2001-2007 Free Software Foundation, Inc.
> +# Copyright (C) 2001-2008 Free Software Foundation, Inc.
> 
>  # This program is free software: you can redistribute it and/or modify
>  # it under the terms of the G

Re: "mkdir -p" new child dirs don't inherit default POSIX ACLs properly

2008-03-21 Thread Jim Meyering
"C. J. Meidlinger" <[EMAIL PROTECTED]> wrote:
> Any word on this thread?  I looked at the git repository and didn't see
> any thing that addressed this problem.  Did I miss something, or has this
> report been classified as something other than a bug?

Thanks for the ping.
I haven't looked at this yet.

If there is a bug, I am tempted to defer fixing it
until after the upcoming release.


___
Bug-coreutils mailing list
Bug-coreutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-coreutils


Re: ptx bug -- unbounded buffer overflow

2008-03-21 Thread Dawson Engler
Cristi,

were there any statements in ptx you were having a hard time hitting that it
might make sense to ask Jim about?

> 
> 
>   Hello Jim,
> 
>   Thanks for the prompt answer.
>   Could you please acknowledge Daniel Dunbar ([EMAIL PROTECTED]) and
> Dawson Engler ([EMAIL PROTECTED]) as well?
>   
>   Our tool works by generating test cases that achieve very high
> statement and branch coverage.  At this point, the tool is not mature
> enough for distribution, but if you'd like to send you the test suites
> that we generate after we finish our study, we can do that.
> 
>   We'll send you any more bug reports that our tool generates.  We plan
> to focus on coreutils over the next two weeks, so this synchronizes well
> with your release deadline.
> 
>   Best,
>   Cristian
> 
> On Fri, 2008-03-21 at 11:11 +0100, Jim Meyering wrote:
> > Cristian Cadar <[EMAIL PROTECTED]> wrote:
> > >   Hello, I'm part of a research group at Stanford, working on automatic
> > > bug-finding tools.  We are currently testing coreutils, and we found a
> > > crash bug in ptx due to an unbounded buffer overflow.
> > >
> > >   Here is a trivial test case that triggers the bug in the current
> > > version of coreutils (6.10):
> > >
> > > $ ptx -F\\
> > >
> > >   Another example, which overflows more bytes would be:
> > > $ ptx -F\\ abcdef
> > >
> > > (the overflow increases w/ the length of the second argument).
> > >
> > >   The problem is in function copy_unescaped_string(const char *string),
> > > which in the presence of backslashes can advance the pointer "string"
> > > past the end of the buffer.  This in turn causes an unbounded overflow
> > > of the buffer malloc-ed at the very beginning of the function, which in
> > > turn can be used to corrupt the heap metadata and crash the program.
> > 
> > Thank you for finding/reporting that.  It is indeed a bug.
> > I've included a patch and a test-suite addition below.
> > 
> > Are your tools freely available?
> > 
> > If you have any more reports like that, please send them in soon.
> > I expect to make a new release in the next week or two.
> > 
> > Regarding attribution, for now, I've listed only your name
> > in the commit log and THANKS file.
> > Let me know if something else would be more appropriate.
> > 
> > ptx: avoid heap overrun for backslash at end of optarg string
> > * src/ptx.c (copy_unescaped_string): Ignore a lone backslash
> > at end of string.  Reported by Cristian Cadar.
> > * tests/misc/Makefile.am (TESTS): Add ptx-overrun.
> > * tests/misc/ptx-overrun: New file.  Test for the above fix.
> > * NEWS: Mention the fix.
> > 
> > Signed-off-by: Jim Meyering <[EMAIL PROTECTED]>
> > ---
> >  NEWS   |5 +
> >  THANKS |1 +
> >  src/ptx.c  |4 
> >  tests/misc/Makefile.am |3 ++-
> >  tests/misc/ptx-overrun |   40 
> >  5 files changed, 52 insertions(+), 1 deletions(-)
> >  create mode 100755 tests/misc/ptx-overrun
> > 
> > diff --git a/NEWS b/NEWS
> > index 93f1331..3be7db8 100644
> > --- a/NEWS
> > +++ b/NEWS
> > @@ -16,6 +16,11 @@ GNU coreutils NEWS
> > -*- outline -*-
> >when the destination had two or more hard links.  It no longer does that.
> >[bug introduced in coreutils-5.3.0]
> > 
> > +  "ptx -F'\' long-file-name" would overrun a malloc'd buffer and corrupt
> > +  the heap.  That was triggered by a lone backslash (or odd number of them)
> > +  at the end of the option argument to --flag-truncation=STRING (-F),
> > +  --word-regexp=REGEXP (-W), or --sentence-regexp=REGEXP (-S).
> > +
> >"rmdir --ignore-fail-on-non-empty" detects and ignores the failure
> >in more cases when a directory is empty.
> > 
> > diff --git a/THANKS b/THANKS
> > index 186bf5f..b5dc348 100644
> > --- a/THANKS
> > +++ b/THANKS
> > @@ -105,6 +105,7 @@ Colin Plumb [EMAIL PROTECTED]
> >  Colin Watson[EMAIL PROTECTED]
> >  Collin Rogowski [EMAIL PROTECTED]
> >  Cray-Cyber Project  http://www.cray-cyber.org
> > +Cristian Cadar  [EMAIL PROTECTED]
> >  Cyril Bouthors  [EMAIL PROTECTED]
> >  Dale Scheetz[EMAIL PROTECTED]
> >  Dan Hagerty [EMAIL PROTECTED]
> > diff --git a/src/ptx.c b/src/ptx.c
> > index dafcbe2..8f7ae95 100644
> > --- a/src/ptx.c
> > +++ b/src/ptx.c
> > @@ -388,6 +388,10 @@ copy_unescaped_string (const char *string)
> >   string++;
> >   break;
> > 
> > +   case '\0':  /* lone backslash at end of string */
> > + /* ignore it */
> > + break;
> > +
> > default:
> >   *cursor++ = '\\';
> >   *cursor++ = *string++;
> > diff --git a/tests/misc/Makefile.am b/tests/misc/Makefile.am
> > index 2be132f..f3ed132 100644
> > --- a/tests/misc/Makefile.am
> > +++ b/tests/misc/Makefile

configure fails on Maemo/OS2008 (sed: no previous regexp)

2008-03-21 Thread Vincent Lefevre
When configuring coreutils 6.10 on my Nokia N810 (Linux Maemo/OS2008,
using BusyBox v1.6.1), I get:

[...]
checking for getspnam... yes
checking for library containing crypt... -lcrypt
sed: no previous regexp
configure: error: internal error: g'l_INCLUDE_EXCLUDE_PROG's 2nd arg, ,
   does not match the list of default-not-installed programs
   (arch hostname su) also recorded in ./src/Makefile.am

-- 
Vincent Lefèvre <[EMAIL PROTECTED]> - Web: 
100% accessible validated (X)HTML - Blog: 
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)


___
Bug-coreutils mailing list
Bug-coreutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-coreutils