URL:
  <http://savannah.gnu.org/bugs/?20906>

                 Summary: libstore segfaults when failing to open multiple
stores
                 Project: The GNU Hurd
            Submitted by: hammy
            Submitted on: Sunday 08/26/2007 at 17:59
                Category: Hurd
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: None
                  Status: Ready For Test
                 Privacy: Public
             Assigned to: None
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
         Reproducibility: Every Time
              Size (loc): None
         Planned Release: None
                  Effort: 0.00
Wiki-like text discussion box: 

    _______________________________________________________

Details:

When layering a store over multiple stores that fail to open, `libchannel'
generates a segfault.

To test it just do `settrans -ac foo /hurd/storeio -T file one two', where
`one' and `two' doesn't exist.  `foo' will crash after a `echo bar > foo'.

This is due to two `of by one' bugs in `store_parsed_open' and
`store_open_children' functions of `libstore'.

I have attached a patch fixing them and as a bonus slightly restructures the
affected code in `store_open_children' to match `store_parsed_open'.




    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Sunday 08/26/2007 at 17:59  Name: libstore-multiple-stores-cleanup.diff
 Size: 864B   By: hammy

<http://savannah.gnu.org/bugs/download.php?file_id=13805>

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?20906>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/



_______________________________________________
Bug-hurd mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-hurd

Reply via email to