diff --git a/gdisk-1.0.9-poptmisuse.patch b/gdisk-1.0.9-poptmisuse.patch new file mode 100644 index 0000000000000000000000000000000000000000..50566816d4a3a7319a2b49f86e68bbe6fccfff56 --- /dev/null +++ b/gdisk-1.0.9-poptmisuse.patch @@ -0,0 +1,12 @@ +diff -up gptfdisk-1.0.9/gptcl.cc.poptabuse gptfdisk-1.0.9/gptcl.cc +--- gptfdisk-1.0.9/gptcl.cc.poptabuse 2022-08-24 09:08:42.220778357 +0300 ++++ gptfdisk-1.0.9/gptcl.cc 2022-08-24 09:08:53.284872567 +0300 +@@ -156,6 +156,8 @@ int GPTDataCL::DoOptions(int argc, char* + + // Assume first non-option argument is the device filename.... + device = (char*) poptGetArg(poptCon); ++ if (device != NULL) ++ device = strdup(device); + poptResetContext(poptCon); + + if (device != NULL) { diff --git a/gdisk-libuuid.patch b/gdisk-libuuid.patch new file mode 100644 index 0000000000000000000000000000000000000000..4538f811c5c1e67448ae21903f84fce890dcaa8b --- /dev/null +++ b/gdisk-libuuid.patch @@ -0,0 +1,12 @@ +diff -up gptfdisk-1.0.9/guid.cc.orig gptfdisk-1.0.9/guid.cc +--- gptfdisk-1.0.9/guid.cc.orig 2022-04-15 01:17:12.000000000 +0200 ++++ gptfdisk-1.0.9/guid.cc 2022-05-08 02:12:21.042712891 +0200 +@@ -141,7 +141,7 @@ void GUIDData::Zero(void) { + void GUIDData::Randomize(void) { + int i, uuidGenerated = 0; + +-#ifdef _UUID_UUID_H ++#if defined (_UUID_UUID_H) || defined (_UL_LIBUUID_UUID_H) + uuid_generate(uuidData); + ReverseBytes(&uuidData[0], 4); + ReverseBytes(&uuidData[4], 2); diff --git a/gdisk.spec b/gdisk.spec index 2b1cd129ea11d769c4aceef1ebb76bc668b5f81a..ac7bfa3b87fc5ce65954a7475345fabcf82dcafc 100644 --- a/gdisk.spec +++ b/gdisk.spec @@ -1,13 +1,15 @@ -%define anolis_release 1 +%define anolis_release 2 Name: gdisk -Version: 1.0.9 +Version: 1.0.9 Release: %{anolis_release}%{?dist} Summary: An fdisk-like partitioning tool for GPT disks License: GPLv2 URL: http://www.rodsbooks.com/gdisk/ -Source0: http://downloads.sourceforge.net/gptfdisk/gptfdisk-%{version}.tar.gz +Source0: http://downloads.sourceforge.net/gptfdisk/gptfdisk-1.0.9.tar.gz +Patch1: gdisk-1.0.9-poptmisuse.patch +Patch2: gdisk-libuuid.patch BuildRequires: gcc-c++ BuildRequires: make @@ -56,6 +58,9 @@ done %doc NEWS README %changelog +* Wed Sep 17 2025 wenyuzifang - 1.0.9-2 +- Fix dangling pointer by copying argument string to prevent undefined behavior after popt context reset. +- Improve cross-platform compatibility by supporting alternative UUID header definitions. * Mon Feb 13 2023 Feng Su - 1.0.9-1 - update to v1.0.9 - add api/abi files