Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package hwinfo for openSUSE:Factory checked in at 2026-05-24 19:34:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/hwinfo (Old) and /work/SRC/openSUSE:Factory/.hwinfo.new.2084 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hwinfo" Sun May 24 19:34:14 2026 rev:202 rq:1354270 version:25.3 Changes: -------- --- /work/SRC/openSUSE:Factory/hwinfo/hwinfo.changes 2026-02-12 17:25:48.535324584 +0100 +++ /work/SRC/openSUSE:Factory/.hwinfo.new.2084/hwinfo.changes 2026-05-24 19:34:18.091957662 +0200 @@ -1,0 +2,8 @@ +Wed May 20 15:42:52 UTC 2026 - [email protected] + +- merge gh#openSUSE/hwinfo#178 +- fix memory leaks in pci and pppoe modules (bsc#1265908) +- avoid NULL pointer in ADD2LOG() call +- 25.3 + +-------------------------------------------------------------------- Old: ---- hwinfo-25.2.tar.xz New: ---- hwinfo-25.3.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ hwinfo.spec ++++++ --- /var/tmp/diff_new_pack.DwNqXQ/_old 2026-05-24 19:34:19.676022476 +0200 +++ /var/tmp/diff_new_pack.DwNqXQ/_new 2026-05-24 19:34:19.688022967 +0200 @@ -1,7 +1,7 @@ # # spec file for package hwinfo # -# Copyright (c) 2026 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: hwinfo -Version: 25.2 +Version: 25.3 %define lname libhd%(echo "%version" | perl -pe 's{\\D.*}{}') Release: 0 Summary: Hardware Library ++++++ hwinfo-25.2.tar.xz -> hwinfo-25.3.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-25.2/VERSION new/hwinfo-25.3/VERSION --- old/hwinfo-25.2/VERSION 2026-02-04 12:44:40.000000000 +0100 +++ new/hwinfo-25.3/VERSION 2026-05-20 17:42:52.000000000 +0200 @@ -1 +1 @@ -25.2 +25.3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-25.2/changelog new/hwinfo-25.3/changelog --- old/hwinfo-25.2/changelog 2026-02-04 12:44:40.000000000 +0100 +++ new/hwinfo-25.3/changelog 2026-05-20 17:42:52.000000000 +0200 @@ -1,3 +1,8 @@ +2026-05-20: 25.3 + - merge gh#openSUSE/hwinfo#178 + - fix memory leaks in pci and pppoe modules (bsc#1265908) + - avoid NULL pointer in ADD2LOG() call + 2026-02-04: 25.2 - merge gh#openSUSE/hwinfo#171 - resolve memory leaks in net, monitor and hddb diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-25.2/src/hd/pci.c new/hwinfo-25.3/src/hd/pci.c --- old/hwinfo-25.2/src/hd/pci.c 2026-02-04 12:44:40.000000000 +0100 +++ new/hwinfo-25.3/src/hd/pci.c 2026-05-20 17:42:52.000000000 +0200 @@ -179,7 +179,10 @@ hd_sysfs_id(sf_dev) ); - if(sscanf(sf_bus_e->str, "%x:%x:%x.%x", &u0, &u1, &u2, &u3) != 4) continue; + if(sscanf(sf_bus_e->str, "%x:%x:%x.%x", &u0, &u1, &u2, &u3) != 4) { + free_mem(sf_dev); + continue; + } pci = add_pci_entry(hd_data, new_mem(sizeof *pci)); @@ -806,6 +809,11 @@ free_mem(s); } + free_mem(macio_name); + free_mem(macio_type); + free_mem(macio_compat); + free_mem(macio_modalias); + free_mem(sf_dev); } @@ -901,7 +909,7 @@ str_printf(&hd->device.name, 0, "Virtual SCSI %d", hd->slot); } - hd->rom_id = new_str(vio_devspec ? vio_devspec + 1 : 0); /* skip leading '/' */ + hd->rom_id = new_str(vio_devspec && *vio_devspec ? vio_devspec + 1 : 0); /* skip leading '/' */ hd->sysfs_id = new_str(hd_sysfs_id(sf_dev)); hd->sysfs_bus_id = new_str(sf_bus_e->str); @@ -909,6 +917,10 @@ if(s) add_str_list(&hd->drivers, s); } + free_mem(vio_devspec); + free_mem(vio_name); + free_mem(vio_modalias); + free_mem(sf_dev); } @@ -948,7 +960,7 @@ void hd_read_platform(hd_data_t *hd_data) { char *s, *platform_type, *device_type, *driver; - str_list_t *sf_bus, *sf_bus_e, *sf_bus_canonical, *sf_eth_dev = NULL; + str_list_t *sf_bus, *sf_bus_e, *sf_bus_canonical; char *sf_dev; int mv643xx_eth_seen = 0; int is_net, is_storage, is_usb, is_xhci, is_ehci; @@ -956,13 +968,14 @@ char *sysfs_device_dir = "/sys/bus/platform/devices"; sf_bus = read_dir(sysfs_device_dir, 'l'); - sf_bus_canonical = read_dir_canonical(sysfs_device_dir, 'l'); if(!sf_bus) { ADD2LOG("sysfs: no such bus: platform\n"); return; } + sf_bus_canonical = read_dir_canonical(sysfs_device_dir, 'l'); + /* list of network interfaces */ str_list_t *net_list = read_dir_canonical("/sys/class/net", 'l'); @@ -997,7 +1010,7 @@ * - there's no other device that is actually a subdevice of this one and would match the network device */ is_net = 0; - sf_eth_dev = netdevice_list(net_list, sf_bus_canonical, sf_dev); + str_list_t *sf_eth_dev = netdevice_list(net_list, sf_bus_canonical, sf_dev); is_net = !!sf_eth_dev; is_storage = @@ -1126,7 +1139,7 @@ } free_str_list(net_list); - + free_str_list(sf_bus_canonical); free_str_list(sf_bus); } @@ -1284,7 +1297,9 @@ hd->unix_dev_name = new_str(sf_eth_dev_e->str); /* this is needed to correctly link to interfaces later */ /* ethernet and wireless differ only by directory "wireless" so check for it */ - sf_eth_wireless = hd_read_sysfs_link(hd_read_sysfs_link(sf_eth_net, sf_eth_dev_e->str), "wireless"); + char *tmp_link = new_str(hd_read_sysfs_link(sf_eth_net, sf_eth_dev_e->str)); + sf_eth_wireless = hd_read_sysfs_link(tmp_link, "wireless"); + free_mem(tmp_link); if(sf_eth_wireless) { hd->sub_class.id = 0x82; /* wireless */ str_printf(&hd->device.name, 0, "PS3 Wireless card %d", wlan_cnt++); @@ -2286,13 +2301,15 @@ " nvme ctrl: name = %s\n path = %s\n transport = %s\n", sf_class_e->str, hd_sysfs_id(sf_dev), - transport + transport ?: "" ); int transport_id = 0; - if(!strcmp(transport, "tcp")) transport_id = 1; - if(!strcmp(transport, "fc")) transport_id = 2; - if(!strcmp(transport, "rdma")) transport_id = 3; + if(transport) { + if(!strcmp(transport, "tcp")) transport_id = 1; + if(!strcmp(transport, "fc")) transport_id = 2; + if(!strcmp(transport, "rdma")) transport_id = 3; + } if(transport_id) { ADD2LOG(" added nvmeof ctrl: sf_dev = %s\n", sf_dev); @@ -2490,6 +2507,8 @@ if(ok) add_str_list(&final_list, sl_c->str); } + free_str_list(candidates); + return final_list; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-25.2/src/hd/pppoe.c new/hwinfo-25.3/src/hd/pppoe.c --- old/hwinfo-25.2/src/hd/pppoe.c 2026-02-04 12:44:40.000000000 +0100 +++ new/hwinfo-25.3/src/hd/pppoe.c 2026-05-20 17:42:52.000000000 +0200 @@ -641,6 +641,8 @@ ); } } + + free_mem(conn); } /** @} */
