From: Sven Hoexter <sven@stormbind.net>
Date: Mon, 17 Jun 2024 09:45:20 +0000 (+0200)
Subject: New upstream version 1.2.4
X-Git-Tag: upstream/1.2.4
X-Git-Url: https://git.sven.stormbind.net/?a=commitdiff_plain;h=0ef47b4a13fc907393be88be3eb4feeee44759df;p=sven%2Fexfatprogs.git

New upstream version 1.2.4
---

diff --git a/NEWS b/NEWS
index a72c9c6..072344e 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,11 @@
+exfatprogs 1.2.4 - released 2024-06-17
+======================================
+
+BUG FIXES :
+ * tune.exfat: Fix "invalid serial number" error when
+   setting an serial number.
+ * fsck.exfat: Fix memory leak in an error path
+
 exfatprogs 1.2.3 - released 2024-05-23
 ======================================
 
diff --git a/configure b/configure
index 2bb25c3..f1e6d79 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for exfatprogs 1.2.3.
+# Generated by GNU Autoconf 2.69 for exfatprogs 1.2.4.
 #
 # Report bugs to <linkinjeon@kernel.org>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='exfatprogs'
 PACKAGE_TARNAME='exfatprogs'
-PACKAGE_VERSION='1.2.3'
-PACKAGE_STRING='exfatprogs 1.2.3'
+PACKAGE_VERSION='1.2.4'
+PACKAGE_STRING='exfatprogs 1.2.4'
 PACKAGE_BUGREPORT='linkinjeon@kernel.org'
 PACKAGE_URL='https://github.com/exfatprogs/exfatprogs'
 
@@ -1325,7 +1325,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures exfatprogs 1.2.3 to adapt to many kinds of systems.
+\`configure' configures exfatprogs 1.2.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1396,7 +1396,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of exfatprogs 1.2.3:";;
+     short | recursive ) echo "Configuration of exfatprogs 1.2.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1508,7 +1508,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-exfatprogs configure 1.2.3
+exfatprogs configure 1.2.4
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1786,7 +1786,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by exfatprogs $as_me 1.2.3, which was
+It was created by exfatprogs $as_me 1.2.4, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2654,7 +2654,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='exfatprogs'
- VERSION='1.2.3'
+ VERSION='1.2.4'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -13253,7 +13253,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by exfatprogs $as_me 1.2.3, which was
+This file was extended by exfatprogs $as_me 1.2.4, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -13320,7 +13320,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-exfatprogs config.status 1.2.3
+exfatprogs config.status 1.2.4
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/include/version.h b/include/version.h
index bef66aa..31f150e 100644
--- a/include/version.h
+++ b/include/version.h
@@ -5,6 +5,6 @@
 
 #ifndef _VERSION_H
 
-#define EXFAT_PROGS_VERSION "1.2.3"
+#define EXFAT_PROGS_VERSION "1.2.4"
 
 #endif /* !_VERSION_H */
diff --git a/lib/exfat_fs.c b/lib/exfat_fs.c
index be76e59..b24f532 100644
--- a/lib/exfat_fs.c
+++ b/lib/exfat_fs.c
@@ -128,8 +128,10 @@ struct exfat *exfat_alloc_exfat(struct exfat_blk_dev *blk_dev, struct pbr *bs)
 	struct exfat *exfat;
 
 	exfat = calloc(1, sizeof(*exfat));
-	if (!exfat)
+	if (!exfat) {
+		free(bs);
 		return NULL;
+	}
 
 	INIT_LIST_HEAD(&exfat->dir_list);
 	exfat->blk_dev = blk_dev;
diff --git a/lib/libexfat.c b/lib/libexfat.c
index 0bcb4a4..9cc184f 100644
--- a/lib/libexfat.c
+++ b/lib/libexfat.c
@@ -1046,6 +1046,8 @@ int exfat_parse_ulong(const char *s, unsigned long *out)
 {
 	char *endptr;
 
+	errno = 0;
+
 	*out = strtoul(s, &endptr, 0);
 
 	if (errno)