1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/libdm
Bryn M. Reeves 35791689ba libdm: use destination size as limit in dm_bit_copy()
The dm_bit_copy() macro uses the source (bs1) bitset size as the
limit for memcpy:

    memcpy((bs1) + 1, (bs2) + 1, ((*(bs1) / DM_BITS_PER_INT) + 1)..)

This is safe if the destination bitset is smaller than the source,
or if the two bitsets are of the same size.

With a destination that is larger (e.g. when resizing a bitmap to
add more capacity), the memcpy will overrun the source bitset and
set garbage bits in the destination.

There are nine uses of the macro currently (8 in libdm/regex, and
1 in daemons/cmirrord): in each case the two bitsets are always of
equal size so the behaviour is unchanged.

Fix the macro to use bs2's size to simplify resizing bitsets and
avoid the need for another copy macro.
2016-12-14 11:28:11 +00:00
..
datastruct libdm: add min_num_bits to dm_bitset_parse_list() 2016-12-13 21:02:18 +00:00
ioctl libdm: Show lib vsn even if driver vsn unavailable. 2016-05-12 01:14:25 +01:00
misc libdm: use dm_log_with_errno always 2016-11-03 17:49:07 +01:00
mm gcc: cleanup some sign warnings 2016-02-23 12:25:25 +01:00
regex cleanup: hide gcc warning 2016-11-23 17:55:03 +01:00
.exported_symbols libdm: Use wrappers for all malloc functions. 2015-07-22 23:11:48 +01:00
.exported_symbols.Base hash: change name of new lookup function 2015-11-17 11:59:44 -06:00
.exported_symbols.DM_1_02_97 libdm: new dm_task_get_info with internal_suspend 2015-05-15 16:48:22 +02:00
.exported_symbols.DM_1_02_98 libdm: Add dm_task_get_errno to return ioctl errno. 2015-05-26 15:13:49 +01:00
.exported_symbols.DM_1_02_99 libdm: add dm_tree_node_set_thin_pool_read_only 2015-06-18 15:15:39 +02:00
.exported_symbols.DM_1_02_100 config: add support for config value formatting flags 2015-06-24 11:13:37 +02:00
.exported_symbols.DM_1_02_101 report: add infrastructure to recognize fuzzy reserved names and returning dynamic reserved values 2015-07-03 10:47:09 +02:00
.exported_symbols.DM_1_02_103 libdm: Use wrappers for all malloc functions. 2015-07-22 23:11:48 +01:00
.exported_symbols.DM_1_02_104 libdm: Drop ignored duplicate export designation. 2015-08-26 17:30:36 +01:00
.exported_symbols.DM_1_02_105 pre-release 2015-08-17 17:20:14 +01:00
.exported_symbols.DM_1_02_106 libdm: add per region precise timestamps property methods 2015-08-24 20:03:21 +01:00
.exported_symbols.DM_1_02_107 libdm: add latency histogram support 2015-09-02 20:48:59 +01:00
.exported_symbols.DM_1_02_110 libdm: dm_tree_node_size_changed recognizes reduction 2015-10-25 21:05:15 +01:00
.exported_symbols.DM_1_02_113 libdm: introduce dm_get_status_mirror 2015-12-01 13:00:43 +01:00
.exported_symbols.DM_1_02_124 libdm: Add dm_udev_wait_immediate. 2016-04-28 00:54:27 +01:00
.exported_symbols.DM_1_02_128 libdm: report: add dm_report_set_selection 2016-06-20 11:33:43 +02:00
.exported_symbols.DM_1_02_129 libdm: add stats group and region iterators and properties 2016-07-05 19:53:16 +01:00
.exported_symbols.DM_1_02_131 libdm: add dm_stats_create_regions_from_fd() 2016-07-08 14:34:41 +01:00
.exported_symbols.DM_1_02_133 libdm: report: add dm_report_group_output_and_pop_all 2016-08-09 18:24:45 +02:00
.exported_symbols.DM_1_02_135 libdm: add dm_config_parse_without_dup_node_check 2016-09-21 18:15:18 +02:00
.exported_symbols.DM_1_02_138 libdm: add min_num_bits to dm_bitset_parse_list() 2016-12-13 21:02:18 +00:00
libdevmapper.h libdm: use destination size as limit in dm_bit_copy() 2016-12-14 11:28:11 +00:00
libdevmapper.pc.in libdm: pkgconfig: fix devmapper.pc to not reference nonexistent rt.pc file 2015-09-03 09:28:42 +02:00
libdm-common.c libdm: validate vsnprintf 2016-12-11 23:24:17 +01:00
libdm-common.h doc: change fsf address 2016-01-21 12:11:37 +01:00
libdm-config.c libdm: add dm_config_parse_without_dup_node_check 2016-09-21 18:15:18 +02:00
libdm-deptree.c libdm: cleaner debug message 2016-09-13 09:24:38 +02:00
libdm-file.c libdm: do not issue 'Failed to create directory' message for failure in dm_create_dir 2016-06-29 15:58:18 +02:00
libdm-report.c cov: use unsigned for single bit values 2016-12-12 11:21:42 +01:00
libdm-stats.c libdm: ensure first extent is always counted 2016-12-13 21:41:31 +00:00
libdm-string.c doc: change fsf address 2016-01-21 12:11:37 +01:00
libdm-targets.c libdm: cache status reports passthrough cache mode 2016-05-19 18:26:07 +02:00
libdm-timestamp.c doc: change fsf address 2016-01-21 12:11:37 +01:00
Makefile.in doc: change fsf address 2016-01-21 12:11:37 +01:00