New upstream release 1.2.0

Removing downstream patches:
 * 0001-fsck-fix-memory-leak.patch
 * 0002.patch
- they are both part of upstream v1.2.0.

New bin. file exfat2img requires changes in %files directive

Resolves: rhbz#2078028
Signed-off-by: Pavel Reichl <preichl@redhat.com>
This commit is contained in:
Pavel Reichl 2023-03-06 14:39:06 +01:00
parent 7b9df776fc
commit 718d03cad6
5 changed files with 10 additions and 98 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
/exfatprogs-1.1.2.tar.xz /exfatprogs-1.1.2.tar.xz
/exfatprogs-1.1.3.tar.xz /exfatprogs-1.1.3.tar.xz
/exfatprogs-1.2.0.tar.xz

View File

@ -1,10 +0,0 @@
--- a/fsck/fsck.c 2021-11-17 10:13:55.729267514 +0100
+++ b/fsck/fsck.c 2022-05-10 12:19:36.397415101 +0200
@@ -796,6 +796,7 @@
if (exfat_read(exfat->blk_dev->dev_fd, boot_sect,
sizeof(*boot_sect), 0) != (ssize_t)sizeof(*boot_sect)) {
exfat_err("failed to read Main boot sector\n");
+ free(boot_sect);
return -EIO;
}

View File

@ -1,83 +0,0 @@
From 88a334ac2f98affcc526e861c2ed1b8bd2c34b3c Mon Sep 17 00:00:00 2001
From: Pavel Reichl <preichl@redhat.com>
Date: Wed, 11 May 2022 23:20:43 +0200
Subject: [PATCH] exfatprogs: fix some minor code issues
* Add checking of function return value
* Fix potentially overflowing expression
Signed-off-by: Pavel Reichl <preichl@redhat.com>
---
fsck/de_iter.c | 9 ++++++---
lib/libexfat.c | 13 ++++++++++---
2 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/fsck/de_iter.c b/fsck/de_iter.c
index bc95c49..587b027 100644
--- a/fsck/de_iter.c
+++ b/fsck/de_iter.c
@@ -82,6 +82,9 @@ static int read_ahead_next_blocks(struct exfat_de_iter *iter,
offset >= iter->ra_begin_offset) {
ret = get_next_clus(exfat, iter->parent,
p_clus, &ra_p_clus);
+ if (ret)
+ return ret;
+
if (ra_p_clus == EXFAT_EOF_CLUSTER)
return -EIO;
@@ -172,10 +175,10 @@ static ssize_t read_block(struct exfat_de_iter *iter, unsigned int block)
ret = get_next_clus(exfat, iter->parent,
prev_desc->p_clus, &desc->p_clus);
desc->offset = 0;
- if (!ret && desc->p_clus == EXFAT_EOF_CLUSTER)
- return EOF;
- else if (ret)
+ if (ret)
return ret;
+ else if (desc->p_clus == EXFAT_EOF_CLUSTER)
+ return EOF;
}
}
diff --git a/lib/libexfat.c b/lib/libexfat.c
index 42e3fdc..ee48d3a 100644
--- a/lib/libexfat.c
+++ b/lib/libexfat.c
@@ -470,7 +470,12 @@ int exfat_set_volume_label(struct exfat_blk_dev *bd,
exfat_err("volume entry write failed: %d\n", errno);
return -1;
}
- fsync(bd->dev_fd);
+
+ if (fsync(bd->dev_fd) == -1) {
+ exfat_err("failed to sync volume entry: %d, %s\n", errno,
+ strerror(errno));
+ return -1;
+ }
exfat_info("new label: %s\n", label_input);
return 0;
@@ -479,7 +484,8 @@ int exfat_set_volume_label(struct exfat_blk_dev *bd,
int exfat_read_sector(struct exfat_blk_dev *bd, void *buf, unsigned int sec_off)
{
int ret;
- unsigned long long offset = sec_off * bd->sector_size;
+ unsigned long long offset =
+ (unsigned long long)sec_off * bd->sector_size;
ret = pread(bd->dev_fd, buf, bd->sector_size, offset);
if (ret < 0) {
@@ -493,7 +499,8 @@ int exfat_write_sector(struct exfat_blk_dev *bd, void *buf,
unsigned int sec_off)
{
int bytes;
- unsigned long long offset = sec_off * bd->sector_size;
+ unsigned long long offset =
+ (unsigned long long)sec_off * bd->sector_size;
bytes = pwrite(bd->dev_fd, buf, bd->sector_size, offset);
if (bytes != (int)bd->sector_size) {
--
2.35.3

View File

@ -1,13 +1,11 @@
Name: exfatprogs Name: exfatprogs
Version: 1.1.3 Version: 1.2.0
Release: 3%{?dist} Release: 1%{?dist}
Summary: Userspace utilities for exFAT filesystems Summary: Userspace utilities for exFAT filesystems
License: GPLv2 License: GPLv2
URL: https://github.com/%{name}/%{name} URL: https://github.com/%{name}/%{name}
Source0: %{url}/releases/download/%{version}/%{name}-%{version}.tar.xz Source0: %{url}/releases/download/%{version}/%{name}-%{version}.tar.xz
Patch0: 0001-fsck-fix-memory-leak.patch
Patch1: 0002.patch
BuildRequires: autoconf BuildRequires: autoconf
BuildRequires: automake BuildRequires: automake
@ -36,16 +34,22 @@ autoreconf -vif
%doc README.md %doc README.md
%{_sbindir}/dump.exfat %{_sbindir}/dump.exfat
%{_sbindir}/exfatlabel %{_sbindir}/exfatlabel
%{_sbindir}/exfat2img
%{_sbindir}/fsck.exfat %{_sbindir}/fsck.exfat
%{_sbindir}/mkfs.exfat %{_sbindir}/mkfs.exfat
%{_sbindir}/tune.exfat %{_sbindir}/tune.exfat
%{_mandir}/man8/dump.exfat.* %{_mandir}/man8/dump.exfat.*
%{_mandir}/man8/exfatlabel.* %{_mandir}/man8/exfatlabel.*
%{_mandir}/man8/exfat2img.*
%{_mandir}/man8/fsck.exfat.* %{_mandir}/man8/fsck.exfat.*
%{_mandir}/man8/mkfs.exfat.* %{_mandir}/man8/mkfs.exfat.*
%{_mandir}/man8/tune.exfat.* %{_mandir}/man8/tune.exfat.*
%changelog %changelog
* Mon Mar 06 2023 Pavel Reichl <preichl@redhat.com> - 1.2.0-1
- Rebase
Related: rhbz#2173273
* Tue May 24 2022 Pavel Reichl <preichl@redhat.com> - 1.1.3-3.test * Tue May 24 2022 Pavel Reichl <preichl@redhat.com> - 1.1.3-3.test
- Fix some covscan issues - Fix some covscan issues

View File

@ -1 +1 @@
SHA512 (exfatprogs-1.1.3.tar.xz) = d23bfe4d0233d944b0d5a484e1167746db77ea9b7fbacdbfac2dd4d37a8a1d747f2445b09baced9fd7b5d3dbfc7664bdc1efe16326d7e678d05294eee124efa3 SHA512 (exfatprogs-1.2.0.tar.xz) = 61a78af024e1ff7e12f2d7449c3ee2ff9476c8746269e29c453c77dbc73d3f52af7ca8fc3e1bd85d6a75b6ed8b7712b5f80e5cc1dffc5ff00fb63455a57ca9bf