bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bug#196085: [Fwd: Re: Bug#196085: Device files are not accepted under th


From: Ognyan Kulev
Subject: Bug#196085: [Fwd: Re: Bug#196085: Device files are not accepted under the Hurd]
Date: Wed, 04 Jun 2003 22:51:36 +0300
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3.1) Gecko/20030527 Debian/1.3.1-2

Ognyan Kulev wrote:

It seems that the bug is in libstore, not in parted.  When
store_typed_open doesn't find ":" character, it calls store_open.
Unfortunately, it does it incorrectly, and, as a result, store_open is
not called as intended.  There is second bug somewhere in
store_find_class, called by store_typed_open.  Some dlsym magic is used
to find store class.  I'm investigating what exactly goes wrong
(resulting in SIGSEGV) when the store class is not found.  A patch will
follow if I find out.

I send a simple patch for the first bug mentioned.

Regards
--
Ognyan Kulev <ogi@fmi.uni-sofia.bg>, "\"Programmer\""
7D9F 66E6 68B7 A62B 0FCF  EB04 80BF 3A8C A252 9782
2003-06-04  Ognyan Kulev  <ogi@fmi.uni-sofia.bg>

        * typed.c (store_typed_open): Stores specified as file names are
        correctly detected and passed to store_open.
--- typed.c.~1.6.~      2002-03-14 23:10:01.000000000 +0200
+++ typed.c     2003-06-04 22:34:30.000000000 +0300
@@ -111,11 +111,11 @@
                  struct store **store)
 {
   const struct store_class *cl;
-  const char *clname_end = strchrnul (name, ':');
+  const char *clname_end = strchr (name, ':');
 
-  if (clname_end == name)
+  if (clname_end == 0)
     /* Open NAME with store_open.  */
-    return store_open (name + 1, flags, classes, store);
+    return store_open (name, flags, classes, store);
 
   /* Try to find an existing class by the given name.  */
   cl = store_find_class (name, clname_end, classes);

reply via email to

[Prev in Thread] Current Thread [Next in Thread]