[PATCH 0/8] Avoid changing const string via strchr() and friends

Michal Privoznik via Devel posted 8 patches 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1764251323.git.mprivozn@redhat.com
src/interface/interface_backend_udev.c    |   2 +-
src/libxl/xen_common.c                    |  10 +-
src/libxl/xen_xm.c                        |  10 +-
src/network/meson.build                   |   1 +
src/network/network_iptables.c            |  33 ++++---
src/node_device/node_device_udev.c        |   2 +-
src/nwfilter/nwfilter_ebiptables_driver.c |   4 +-
src/qemu/qemu_monitor_json.c              |   2 +-
src/qemu/qemu_nbdkit.c                    |   2 +-
src/rpc/virnetsshsession.c                |   5 +-
src/storage/storage_util.c                |   2 +-
src/storage_file/storage_source.c         |   4 +-
src/util/vircgroup.c                      |   2 +-
src/util/vircommand.c                     |  10 +-
src/util/virfile.c                        |   2 +-
src/util/virstoragefile.c                 |   4 +-
src/util/virstring.c                      |  20 ++--
src/util/virstring.h                      |   2 +-
src/util/virsysinfo.c                     |  22 ++---
src/util/virxml.c                         |   3 +-
src/vmware/vmware_conf.c                  |   2 +-
tests/meson.build                         |   9 +-
tests/virfirewalltest.c                   | 111 ++++++++++++++++++++++
tests/virstringtest.c                     |  48 ++++++++++
tools/vsh.c                               |   6 +-
25 files changed, 252 insertions(+), 66 deletions(-)
[PATCH 0/8] Avoid changing const string via strchr() and friends
Posted by Michal Privoznik via Devel 2 weeks ago
This stems from the discussion here:

https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/HVMCJEP72WWT3HGFYTO4XOBFJNIOOT44/

Green pipeline here:

https://gitlab.com/MichalPrivoznik/libvirt/-/pipelines/2183169334

Michal Prívozník (8):
  vircommand: Update documentation to virCommandSetDryRun()
  virstringtest: Introduce a test for virSkipSpacesBackwards()
  virfirewalltest: Introduce testIPtablesSetupPrivateChains()
  virSkipSpacesBackwards: Turn @endp into const
  iptablesPrivateChainCreate: Rename @tmp variable
  iptablesPrivateChainCreate: Switch to STRSKIP()
  iptablesPrivateChainCreate: Avoid modifying const string
  lib: Avoid changing const strings via strchr() and friends

 src/interface/interface_backend_udev.c    |   2 +-
 src/libxl/xen_common.c                    |  10 +-
 src/libxl/xen_xm.c                        |  10 +-
 src/network/meson.build                   |   1 +
 src/network/network_iptables.c            |  33 ++++---
 src/node_device/node_device_udev.c        |   2 +-
 src/nwfilter/nwfilter_ebiptables_driver.c |   4 +-
 src/qemu/qemu_monitor_json.c              |   2 +-
 src/qemu/qemu_nbdkit.c                    |   2 +-
 src/rpc/virnetsshsession.c                |   5 +-
 src/storage/storage_util.c                |   2 +-
 src/storage_file/storage_source.c         |   4 +-
 src/util/vircgroup.c                      |   2 +-
 src/util/vircommand.c                     |  10 +-
 src/util/virfile.c                        |   2 +-
 src/util/virstoragefile.c                 |   4 +-
 src/util/virstring.c                      |  20 ++--
 src/util/virstring.h                      |   2 +-
 src/util/virsysinfo.c                     |  22 ++---
 src/util/virxml.c                         |   3 +-
 src/vmware/vmware_conf.c                  |   2 +-
 tests/meson.build                         |   9 +-
 tests/virfirewalltest.c                   | 111 ++++++++++++++++++++++
 tests/virstringtest.c                     |  48 ++++++++++
 tools/vsh.c                               |   6 +-
 25 files changed, 252 insertions(+), 66 deletions(-)

-- 
2.51.2

Re: [PATCH 0/8] Avoid changing const string via strchr() and friends
Posted by Ján Tomko via Devel 1 week, 3 days ago
On a Thursday in 2025, Michal Privoznik via Devel wrote:
>This stems from the discussion here:
>
>https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/HVMCJEP72WWT3HGFYTO4XOBFJNIOOT44/
>
>Green pipeline here:
>
>https://gitlab.com/MichalPrivoznik/libvirt/-/pipelines/2183169334
>
>Michal Prívozník (8):
>  vircommand: Update documentation to virCommandSetDryRun()
>  virstringtest: Introduce a test for virSkipSpacesBackwards()
>  virfirewalltest: Introduce testIPtablesSetupPrivateChains()
>  virSkipSpacesBackwards: Turn @endp into const
>  iptablesPrivateChainCreate: Rename @tmp variable
>  iptablesPrivateChainCreate: Switch to STRSKIP()
>  iptablesPrivateChainCreate: Avoid modifying const string
>  lib: Avoid changing const strings via strchr() and friends
>
> src/interface/interface_backend_udev.c    |   2 +-
> src/libxl/xen_common.c                    |  10 +-
> src/libxl/xen_xm.c                        |  10 +-
> src/network/meson.build                   |   1 +
> src/network/network_iptables.c            |  33 ++++---
> src/node_device/node_device_udev.c        |   2 +-
> src/nwfilter/nwfilter_ebiptables_driver.c |   4 +-
> src/qemu/qemu_monitor_json.c              |   2 +-
> src/qemu/qemu_nbdkit.c                    |   2 +-
> src/rpc/virnetsshsession.c                |   5 +-
> src/storage/storage_util.c                |   2 +-
> src/storage_file/storage_source.c         |   4 +-
> src/util/vircgroup.c                      |   2 +-
> src/util/vircommand.c                     |  10 +-
> src/util/virfile.c                        |   2 +-
> src/util/virstoragefile.c                 |   4 +-
> src/util/virstring.c                      |  20 ++--
> src/util/virstring.h                      |   2 +-
> src/util/virsysinfo.c                     |  22 ++---
> src/util/virxml.c                         |   3 +-
> src/vmware/vmware_conf.c                  |   2 +-
> tests/meson.build                         |   9 +-
> tests/virfirewalltest.c                   | 111 ++++++++++++++++++++++
> tests/virstringtest.c                     |  48 ++++++++++
> tools/vsh.c                               |   6 +-
> 25 files changed, 252 insertions(+), 66 deletions(-)
>

Reviewed-by: Ján Tomko <jtomko@redhat.com>

Jano
Re: [PATCH 0/8] Avoid changing const string via strchr() and friends
Posted by Jaroslav Suchanek via Devel 1 week, 3 days ago
On Thu, Nov 27, 2025 at 02:50:55PM +0100, Michal Privoznik via Devel wrote:
> This stems from the discussion here:
> 
> https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/HVMCJEP72WWT3HGFYTO4XOBFJNIOOT44/
> 
> Green pipeline here:
> 
> https://gitlab.com/MichalPrivoznik/libvirt/-/pipelines/2183169334
> 
> Michal Prívozník (8):
>   vircommand: Update documentation to virCommandSetDryRun()
>   virstringtest: Introduce a test for virSkipSpacesBackwards()
>   virfirewalltest: Introduce testIPtablesSetupPrivateChains()
>   virSkipSpacesBackwards: Turn @endp into const
>   iptablesPrivateChainCreate: Rename @tmp variable
>   iptablesPrivateChainCreate: Switch to STRSKIP()
>   iptablesPrivateChainCreate: Avoid modifying const string
>   lib: Avoid changing const strings via strchr() and friends
> 
>  src/interface/interface_backend_udev.c    |   2 +-
>  src/libxl/xen_common.c                    |  10 +-
>  src/libxl/xen_xm.c                        |  10 +-
>  src/network/meson.build                   |   1 +
>  src/network/network_iptables.c            |  33 ++++---
>  src/node_device/node_device_udev.c        |   2 +-
>  src/nwfilter/nwfilter_ebiptables_driver.c |   4 +-
>  src/qemu/qemu_monitor_json.c              |   2 +-
>  src/qemu/qemu_nbdkit.c                    |   2 +-
>  src/rpc/virnetsshsession.c                |   5 +-
>  src/storage/storage_util.c                |   2 +-
>  src/storage_file/storage_source.c         |   4 +-
>  src/util/vircgroup.c                      |   2 +-
>  src/util/vircommand.c                     |  10 +-
>  src/util/virfile.c                        |   2 +-
>  src/util/virstoragefile.c                 |   4 +-
>  src/util/virstring.c                      |  20 ++--
>  src/util/virstring.h                      |   2 +-
>  src/util/virsysinfo.c                     |  22 ++---
>  src/util/virxml.c                         |   3 +-
>  src/vmware/vmware_conf.c                  |   2 +-
>  tests/meson.build                         |   9 +-
>  tests/virfirewalltest.c                   | 111 ++++++++++++++++++++++
>  tests/virstringtest.c                     |  48 ++++++++++
>  tools/vsh.c                               |   6 +-
>  25 files changed, 252 insertions(+), 66 deletions(-)
> 
> -- 
> 2.51.2
> 

Tested on macOS 26.1.

Tested-by: Jaroslav Suchanek <jsuchane@redhat.com>