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-06-03 20:20:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/hwinfo (Old) and /work/SRC/openSUSE:Factory/.hwinfo.new.1937 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hwinfo" Wed Jun 3 20:20:41 2026 rev:203 rq:1356766 version:25.4 Changes: -------- --- /work/SRC/openSUSE:Factory/hwinfo/hwinfo.changes 2026-05-24 19:34:18.091957662 +0200 +++ /work/SRC/openSUSE:Factory/.hwinfo.new.1937/hwinfo.changes 2026-06-03 20:20:51.445292962 +0200 @@ -1,0 +2,26 @@ +Tue Jun 2 14:47:54 UTC 2026 - [email protected] + +- merge gh#openSUSE/hwinfo#181 +- fix redundant conditions in smbios memory device map +- 25.4 + +-------------------------------------------------------------------- +Tue Jun 2 14:46:49 UTC 2026 - [email protected] + +- merge gh#openSUSE/hwinfo#182 +- fix memory leaks (bsc#1267348) + +-------------------------------------------------------------------- +Tue Jun 2 12:14:20 UTC 2026 - [email protected] + +- merge gh#openSUSE/hwinfo#180 +- fix(core): free modinfo_ext instead of modinfo in hd_free_hd_data + +-------------------------------------------------------------------- +Tue Jun 2 12:13:32 UTC 2026 - [email protected] + +- merge gh#openSUSE/hwinfo#179 +- Fix: fix sizeof in joystick allocation to use struct size instead + of pointer size (bsc#1267348) + +-------------------------------------------------------------------- Old: ---- hwinfo-25.3.tar.xz New: ---- hwinfo-25.4.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ hwinfo.spec ++++++ --- /var/tmp/diff_new_pack.VLWnQZ/_old 2026-06-03 20:20:52.157322499 +0200 +++ /var/tmp/diff_new_pack.VLWnQZ/_new 2026-06-03 20:20:52.177323329 +0200 @@ -17,7 +17,7 @@ Name: hwinfo -Version: 25.3 +Version: 25.4 %define lname libhd%(echo "%version" | perl -pe 's{\\D.*}{}') Release: 0 Summary: Hardware Library ++++++ hwinfo-25.3.tar.xz -> hwinfo-25.4.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-25.3/VERSION new/hwinfo-25.4/VERSION --- old/hwinfo-25.3/VERSION 2026-05-20 17:42:52.000000000 +0200 +++ new/hwinfo-25.4/VERSION 2026-06-02 16:47:54.000000000 +0200 @@ -1 +1 @@ -25.3 +25.4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-25.3/changelog new/hwinfo-25.4/changelog --- old/hwinfo-25.3/changelog 2026-05-20 17:42:52.000000000 +0200 +++ new/hwinfo-25.4/changelog 2026-06-02 16:47:54.000000000 +0200 @@ -1,3 +1,14 @@ +2026-06-02: 25.4 + - merge gh#openSUSE/hwinfo#179 + - Fix: fix sizeof in joystick allocation to use struct size instead + of pointer size (bsc#1267348) + - merge gh#openSUSE/hwinfo#180 + - fix(core): free modinfo_ext instead of modinfo in hd_free_hd_data + - merge gh#openSUSE/hwinfo#182 + - fix memory leaks (bsc#1267348) + - merge gh#openSUSE/hwinfo#181 + - fix redundant conditions in smbios memory device map + 2026-05-20: 25.3 - merge gh#openSUSE/hwinfo#178 - fix memory leaks in pci and pppoe modules (bsc#1265908) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-25.3/hwinfo.c new/hwinfo-25.4/hwinfo.c --- old/hwinfo-25.3/hwinfo.c 2026-05-20 17:42:52.000000000 +0200 +++ new/hwinfo-25.4/hwinfo.c 2026-06-02 16:47:54.000000000 +0200 @@ -981,6 +981,7 @@ f = fopen(INSTALL_INF, "w"); if(!f) { perror(INSTALL_INF); + free_str_list(sl0); return 1; } @@ -998,6 +999,8 @@ fclose(f); + free_str_list(sl0); + return 0; } @@ -1177,6 +1180,7 @@ f = fopen(INSTALL_INF, "w"); if(!f) { perror(INSTALL_INF); + free_str_list(sl0); return 1; } @@ -1224,6 +1228,8 @@ fclose(f); + free_str_list(sl0); + return 0; } @@ -1260,7 +1266,7 @@ void dump_packages(hd_data_t *hd_data) { - str_list_t *sl; + str_list_t *sl, *sl_head; int i; hd_data->progress = NULL; @@ -1273,9 +1279,12 @@ add_str_list(&sl, strdup(xserver3map[i + 1])); } + sl_head = sl; for(; sl; sl = sl->next) { printf("%s\n", sl->str); } + + free_str_list(sl_head); } @@ -1332,6 +1341,8 @@ f = fopen(INSTALL_INF, "w"); if(!f) { perror(INSTALL_INF); + free_str_list(sl0); + free_str_list(x11packs); return 1; } for(sl = sl0; sl; sl = sl->next) { @@ -1354,6 +1365,10 @@ if (pcmcia) fprintf(f, "Pcmcia: %d\n", pcmcia); fclose(f); + + free_str_list(sl0); + free_str_list(x11packs); + return 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-25.3/src/hd/block.c new/hwinfo-25.4/src/hd/block.c --- old/hwinfo-25.3/src/hd/block.c 2026-05-20 17:42:52.000000000 +0200 +++ new/hwinfo-25.4/src/hd/block.c 2026-06-02 16:47:54.000000000 +0200 @@ -182,7 +182,9 @@ if(!strcmp(bus_name, "nvme-subsystem")) { for(sl = read_dir(sf_dev, 'l'); sl; sl = sl->next) { if(!strncmp(sl->str, "nvme", 4)) { - sf_dev = new_str(hd_read_sysfs_link(sf_dev, sl->str)); + char *old_sf_dev = sf_dev; + sf_dev = new_str(hd_read_sysfs_link(old_sf_dev, sl->str)); + free_mem(old_sf_dev); } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-25.3/src/hd/cpu.c new/hwinfo-25.4/src/hd/cpu.c --- old/hwinfo-25.3/src/hd/cpu.c 2026-05-20 17:42:52.000000000 +0200 +++ new/hwinfo-25.4/src/hd/cpu.c 2026-06-02 16:47:54.000000000 +0200 @@ -275,7 +275,7 @@ if(*features) { for(t0 = features; (t = strsep(&t0, " ")); ) { - add_str_list(&ct->features, new_str(t)); + add_str_list(&ct->features, t); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-25.3/src/hd/drm.c new/hwinfo-25.4/src/hd/drm.c --- old/hwinfo-25.3/src/hd/drm.c 2026-05-20 17:42:52.000000000 +0200 +++ new/hwinfo-25.4/src/hd/drm.c 2026-06-02 16:47:54.000000000 +0200 @@ -1,14 +1,15 @@ - - #include <fcntl.h> +#include <unistd.h> #include "hd.h" #include "hd_int.h" int is_kms_active(hd_data_t *hd_data) { - int kms = open("/sys/class/drm/card0", O_RDONLY) > 0; + int fd = open("/sys/class/drm/card0", O_RDONLY); + int kms = fd >= 0; + if (fd >= 0) close(fd); ADD2LOG(" KMS detected: %d\n", kms); - return kms; + return kms; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-25.3/src/hd/hd.c new/hwinfo-25.4/src/hd/hd.c --- old/hwinfo-25.3/src/hd/hd.c 2026-05-20 17:42:52.000000000 +0200 +++ new/hwinfo-25.4/src/hd/hd.c 2026-06-02 16:47:54.000000000 +0200 @@ -1011,9 +1011,12 @@ } hd_data->modinfo = free_mem(hd_data->modinfo); if((p = hd_data->modinfo_ext)) { - for(; p->type; p++) free_mem(p->module); + for(; p->type; p++) { + free_mem(p->module); + free_mem(p->alias); + } } - hd_data->modinfo = free_mem(hd_data->modinfo_ext); + hd_data->modinfo_ext = free_mem(hd_data->modinfo_ext); if(hd_data->hddb2[0]) { free_mem(hd_data->hddb2[0]->list); @@ -5994,6 +5997,8 @@ str_printf(&sf->driver, 0, "nvme_%s", transport); sf->device = new_str(hd_sysfs_id(sf_dev)); ADD2LOG("%16s: %s\n", sf->driver, sf->device); + + free_mem(transport); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-25.3/src/hd/input.c new/hwinfo-25.4/src/hd/input.c --- old/hwinfo-25.3/src/hd/input.c 2026-05-20 17:42:52.000000000 +0200 +++ new/hwinfo-25.4/src/hd/input.c 2026-06-02 16:47:54.000000000 +0200 @@ -57,7 +57,7 @@ h->detail = new_mem(sizeof *h->detail); h->detail->type = hd_detail_joystick; - joystick_t *jt = new_mem(sizeof jt); + joystick_t *jt = new_mem(sizeof *jt); unsigned u; if(key) { @@ -406,6 +406,13 @@ } } + // Free any remaining allocated strings from the last device + name = free_mem(name); + handlers = free_mem(handlers); + key = free_mem(key); + rel = free_mem(rel); + abso = free_mem(abso); + free_str_list(input); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-25.3/src/hd/pci.c new/hwinfo-25.4/src/hd/pci.c --- old/hwinfo-25.3/src/hd/pci.c 2026-05-20 17:42:52.000000000 +0200 +++ new/hwinfo-25.4/src/hd/pci.c 2026-06-02 16:47:54.000000000 +0200 @@ -1577,6 +1577,8 @@ if(s) add_str_list(&hd->drivers, s); } + free_mem(xen_type); + free_mem(xen_node); free_mem(sf_dev); free_mem(drv); free_mem(module); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-25.3/src/hd/smbios.c new/hwinfo-25.4/src/hd/smbios.c --- old/hwinfo-25.3/src/hd/smbios.c 2026-05-20 17:42:52.000000000 +0200 +++ new/hwinfo-25.4/src/hd/smbios.c 2026-06-02 16:47:54.000000000 +0200 @@ -1579,16 +1579,10 @@ fprintf(f, " Memory Device: #%d\n", sm->memdevicemap.memdevice_handle); fprintf(f, " Array Mapping: #%d\n", sm->memdevicemap.arraymap_handle); if(sm->memdevicemap.row_pos != 0xff) fprintf(f, " Row: %u\n", sm->memdevicemap.row_pos); - if( - !sm->memdevicemap.interleave_pos || - sm->memdevicemap.interleave_pos != 0xff - ) { + if(sm->memdevicemap.interleave_pos != 0xff) { fprintf(f, " Interleave Pos: %u\n", sm->memdevicemap.interleave_pos); } - if( - !sm->memdevicemap.interleave_depth || - sm->memdevicemap.interleave_depth != 0xff - ) { + if(sm->memdevicemap.interleave_depth != 0xff) { fprintf(f, " Interleaved Depth: %u\n", sm->memdevicemap.interleave_depth); } if((sm->memdevicemap.start_addr | sm->memdevicemap.end_addr) >> 32) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-25.3/src/hd/usb.c new/hwinfo-25.4/src/hd/usb.c --- old/hwinfo-25.3/src/hd/usb.c 2026-05-20 17:42:52.000000000 +0200 +++ new/hwinfo-25.4/src/hd/usb.c 2026-06-02 16:47:54.000000000 +0200 @@ -963,6 +963,9 @@ } } } + + bus_name = free_mem(bus_name); + sf_drv_name = free_mem(sf_drv_name); } sf_dev = free_mem(sf_dev);
