Thomas Bertschinger aefc264401 fix invalid write in pop_cmd()
The memmove() in pop_cmd() reads and writes beyond the end of argv.

This is basically harmless in the current C program; the environment
variable list immediately follows argv so all this does is unnecessarily
copy the beginning of that list.

However, this will become problematic once we start calling C functions
like fs_cmds() from Rust code. Then argv will be a Vec<String> (as
*mut *mut i8) and the memory layout will be different--in particular,
I don't think we can assume that a Vec<String> will be NULL-terminated
like argv always is--, meaning the invalid write could lead to heap
corruption.

Also, it doesn't look like full_cmd ever gets used after calling
pop_cmd() so I'm removing it here since it looks unneeded to me.

Signed-off-by: Thomas Bertschinger <tahbertschinger@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-01-12 15:04:13 -05:00
2023-12-10 12:16:00 -05:00
2023-12-10 12:16:00 -05:00
2024-01-11 23:55:39 -08:00
2024-01-10 22:27:22 -05:00
2024-01-10 22:27:22 -05:00
2018-11-23 02:10:44 -05:00
2022-03-24 11:41:10 -06:00
2023-12-06 15:41:05 -05:00
2023-01-03 16:58:55 +13:00
2023-11-27 21:04:03 -05:00
2024-01-12 15:04:13 -05:00
2023-11-20 15:13:17 -05:00
2022-05-26 15:40:08 -04:00
2024-01-10 22:27:22 -05:00
2024-01-10 22:27:22 -05:00
2024-01-10 22:27:22 -05:00
2024-01-05 13:01:34 -05:00
2024-01-03 20:30:44 -05:00
2024-01-12 15:04:09 -05:00
2016-03-11 21:18:42 -09:00
2013-07-17 13:13:31 -07:00
2023-11-20 15:13:17 -05:00
2024-01-12 13:09:51 -05:00
2017-03-09 09:14:11 -09:00
2023-03-07 12:46:53 -05:00
2024-01-10 22:27:22 -05:00

bcachefs-tools

Userspace tools and docs for bcachefs

Bcachefs is an advanced new filesystem for Linux, with an emphasis on reliability and robustness and the complete set of features one would expect from a modern filesystem.

This repo primarily consists of the following:

  • bcachefs tool, the reason this repo exists.
  • {mkfs,mount,fsck}.bcachefs utils, which is just wrappers calling the corresponding subcommands in the main tool
  • docs in the form of man-pages and a user manual

Please refer to the main site for getting started An in-depth user manual is (also) found on the official website

Build and install

Refer to INSTALL.md

Bug reports and contributions

Description
Languages
C 95.6%
C++ 2%
Rust 1.4%
Roff 0.4%
Nix 0.2%
Other 0.4%