storeread segfaults if you don't pass a argument to it.

   hurd:/home/ams/hurd/hurd.obj/utils# storeread
   Segmentation fault (core dumped)

   The following patch fixes that, and it also updates the docstring a
   bit.  It also makes storeread barf if you pass it >3 arguments
   (there is no point in passing more).

That is just bogus, one can do fun stuff like (added extra spaces for
readability):

storeread /dev/hda  1 512   400 1024   600 512

and get several blocks at different addresses.

Here is a new patch, that doesn't screw up the correct behaviour of
storeread; and still fixes the wrong one (segfault when not passing
any arguments to it)

utils/ChangeLog
2004-03-13  Alfred M. Szmidt  <[EMAIL PROTECTED]>

        * storeread.c (main): Check that we didn't get to few arguments.

--- utils/storeread.c.~1.7.~      2004-03-14 02:14:27.000000000 -0800
+++ utils/storeread.c      2004-03-14 02:16:05.000000000 -0800
@@ -1,6 +1,6 @@
 /* Write portions of a store to stdout
 
-   Copyright (C) 1996,97,99,2001,02,03 Free Software Foundation, Inc.
+   Copyright (C) 1996,97,99,2001,02,03,04 Free Software Foundation, Inc.
    Written by Miles Bader <[EMAIL PROTECTED]>
    This file is part of the GNU Hurd.
 
@@ -109,6 +109,10 @@ main (int argc, char **argv)
       break;
 
       case ARGP_KEY_END:
+       if (state->arg_num < 1)
+          /* Not enough arguments.  */
+           argp_usage (state);
+
          if (addr >= 0)
            dump (addr, -1);
      else if (! dumped)


_______________________________________________
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd

Reply via email to