parted/parted.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

New commits:
commit 9e05418de3477666b0709f5d1996149febd33100
Author: Otavio Salvador <[EMAIL PROTECTED]>
Date:   Sat Dec 16 18:47:53 2006 -0200

This causes Parted to abort, after dumping the customary stack trace
and the command history. The reason this happens is that
ped_device_free_all also closes and destroys the device with which
Parted was invoked by the user. Therefore any subsequent command whose
do* counterpart needs PedDevice **dev causes a segmentation fault.
eg., print (do_print), check (do_check)

(parted) print
(parted) print devices
(parted) print

Just give the above commands to recreate the bug.

A way to fix this is to create a deep copy duplicate of PedDeice **dev
before doing ped_device_free_all. This would require a
ped_device_duplicate function (similar to ped_disk_duplicate) to be
written.

What do you think?

    parted/parted.c: Destroy all objects before return when called with --list 
or --all option.

In fact objects are destroyed only for:
(parted) print devices

It remains to be done for --list and 'print all'.

Happy hacking,
Debarshi
--
After the game the king and the pawn go into the same box.
               -- Italian proverb

_______________________________________________
parted-devel mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/parted-devel

Reply via email to