Files
libguestfs/daemon
Richard W.M. Jones 56da6b36d3 daemon: btrfs: Simplify snapshot code and fix invalid memory access
The existing code had a bug which you can demonstrate by doing:

  $ guestfish -N fs:btrfs:10G -m /dev/sda1 \
  btrfs-subvolume-create /sub :
  btrfs-subvolume-snapshot /sub /snap1 : \
  btrfs-subvolume-snapshot /sub /snap123 : \
  btrfs-subvolume-snapshot /sub /snap123456 : \
  btrfs-subvolume-show /sub
  ...
  libguestfs: error: appliance closed the connection unexpectedly.
  This usually means the libguestfs appliance crashed.

As the code for parsing the output and creating the comma-separated
list of snapshots was unncessarily complicated in the first place,
simplify it.  This also fixes the bug.

This also adds a regression test.

Thanks: Arye Yurkovsky
Link: https://lists.libguestfs.org/archives/list/guestfs@lists.libguestfs.org/thread/QV5VDHIH7WRUNAE54K6OEOKJMWL6M7EM/
2025-11-24 10:44:44 +00:00
..
2022-03-09 09:28:02 +00:00
2017-07-27 17:31:41 +01:00
2025-02-16 17:00:46 +00:00
2017-07-27 17:31:41 +01:00
2025-05-11 12:37:23 +01:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2017-07-27 17:31:41 +01:00
2025-02-16 17:00:46 +00:00
2025-05-11 21:29:23 +01:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-05-11 21:29:23 +01:00
2017-07-27 17:31:41 +01:00
2017-07-27 17:31:41 +01:00
2017-07-27 17:31:41 +01:00
2025-02-16 17:00:46 +00:00
2018-04-19 11:30:29 +02:00
2025-02-16 17:00:46 +00:00
2025-04-29 19:05:07 +01:00
2025-02-16 17:00:46 +00:00
2025-05-11 12:37:23 +01:00
2025-02-16 17:00:46 +00:00
2025-05-11 21:29:23 +01:00
2017-07-27 17:31:41 +01:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-05-11 21:29:23 +01:00
2025-03-03 14:22:37 +00:00
2025-02-16 17:00:46 +00:00
2025-05-11 12:37:23 +01:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-05-11 21:29:23 +01:00
2025-02-16 17:00:46 +00:00
2017-07-27 17:31:41 +01:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-05-11 21:29:23 +01:00
2025-02-16 17:00:46 +00:00
2017-07-27 17:31:41 +01:00
2025-05-11 21:29:23 +01:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-09-09 16:29:13 +01:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2017-07-27 17:31:41 +01:00
2017-07-27 17:31:41 +01:00
2017-07-27 17:31:41 +01:00
2025-05-11 21:29:23 +01:00
2017-07-27 17:31:41 +01:00
2017-07-27 17:31:41 +01:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2017-07-27 17:31:41 +01:00
2025-02-16 17:00:46 +00:00
2017-07-27 17:31:41 +01:00
2025-02-16 17:00:46 +00:00
2015-07-02 16:08:44 +01:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2021-03-30 12:56:58 +01:00
2025-02-16 17:00:46 +00:00
2017-07-27 17:31:41 +01:00