- update patch "eliminate-some-more-alloca-usage" for bug 1984813.
This commit is contained in:
parent
03cd024ae2
commit
866aebf59c
@ -6,14 +6,25 @@ Quite a bit of the alloca(3) usage has been eliminated over time.
|
|||||||
Use malloc(3) for some more cases that might need to allocate a largish
|
Use malloc(3) for some more cases that might need to allocate a largish
|
||||||
amount of storage.
|
amount of storage.
|
||||||
|
|
||||||
|
Signed-off-by: Ian Kent <raven@themaw.net>
|
||||||
|
---
|
||||||
|
|
||||||
|
autofs-5.1.7 - eliminate some more alloca usage
|
||||||
|
|
||||||
|
From: Ian Kent <raven@themaw.net>
|
||||||
|
|
||||||
|
Quite a bit of the alloca(3) usage has been eliminated over time.
|
||||||
|
Use malloc(3) for some more cases that might need to allocate a largish
|
||||||
|
amount of storage.
|
||||||
|
|
||||||
Signed-off-by: Ian Kent <raven@themaw.net>
|
Signed-off-by: Ian Kent <raven@themaw.net>
|
||||||
---
|
---
|
||||||
CHANGELOG | 1 +
|
CHANGELOG | 1 +
|
||||||
modules/lookup_program.c | 11 ++++++++++-
|
modules/lookup_program.c | 11 ++++++++++-
|
||||||
modules/lookup_yp.c | 22 +++++++++++++++++++---
|
modules/lookup_yp.c | 22 +++++++++++++++++++---
|
||||||
modules/parse_sun.c | 13 +++++++++++--
|
modules/parse_sun.c | 18 ++++++++++++++----
|
||||||
modules/replicated.c | 15 ++++-----------
|
modules/replicated.c | 19 ++++++-------------
|
||||||
5 files changed, 45 insertions(+), 17 deletions(-)
|
5 files changed, 50 insertions(+), 21 deletions(-)
|
||||||
|
|
||||||
--- autofs-5.1.7.orig/CHANGELOG
|
--- autofs-5.1.7.orig/CHANGELOG
|
||||||
+++ autofs-5.1.7/CHANGELOG
|
+++ autofs-5.1.7/CHANGELOG
|
||||||
@ -138,15 +149,21 @@ Signed-off-by: Ian Kent <raven@themaw.net>
|
|||||||
memcpy(what, loc, loclen);
|
memcpy(what, loc, loclen);
|
||||||
what[loclen] = '\0';
|
what[loclen] = '\0';
|
||||||
|
|
||||||
@@ -709,7 +716,6 @@ static int sun_mount(struct autofs_point
|
@@ -706,10 +713,10 @@ static int sun_mount(struct autofs_point
|
||||||
if (!loclen)
|
rv = mount_nfs->mount_mount(ap, root, name, namelen,
|
||||||
|
what, fstype, options, mount_nfs->context);
|
||||||
|
} else {
|
||||||
|
- if (!loclen)
|
||||||
|
+ if (!loclen) {
|
||||||
|
+ free(what);
|
||||||
what = NULL;
|
what = NULL;
|
||||||
else {
|
- else {
|
||||||
- what = alloca(loclen + 1);
|
- what = alloca(loclen + 1);
|
||||||
|
+ } else {
|
||||||
if (*loc == ':') {
|
if (*loc == ':') {
|
||||||
loclen--;
|
loclen--;
|
||||||
memcpy(what, loc + 1, loclen);
|
memcpy(what, loc + 1, loclen);
|
||||||
@@ -728,6 +734,9 @@ static int sun_mount(struct autofs_point
|
@@ -728,6 +735,9 @@ static int sun_mount(struct autofs_point
|
||||||
/* Generic mount routine */
|
/* Generic mount routine */
|
||||||
rv = do_mount(ap, root, name, namelen, what, fstype, options);
|
rv = do_mount(ap, root, name, namelen, what, fstype, options);
|
||||||
}
|
}
|
||||||
@ -158,8 +175,12 @@ Signed-off-by: Ian Kent <raven@themaw.net>
|
|||||||
if (nonstrict && rv)
|
if (nonstrict && rv)
|
||||||
--- autofs-5.1.7.orig/modules/replicated.c
|
--- autofs-5.1.7.orig/modules/replicated.c
|
||||||
+++ autofs-5.1.7/modules/replicated.c
|
+++ autofs-5.1.7/modules/replicated.c
|
||||||
@@ -1044,22 +1044,15 @@ done:
|
@@ -1041,25 +1041,18 @@ done:
|
||||||
static int add_path(struct host *hosts, const char *path, int len)
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static int add_path(struct host *hosts, const char *path, int len)
|
||||||
|
+static int add_path(struct host *hosts, const char *path)
|
||||||
{
|
{
|
||||||
struct host *this;
|
struct host *this;
|
||||||
- char *tmp, *tmp2;
|
- char *tmp, *tmp2;
|
||||||
@ -185,3 +206,12 @@ Signed-off-by: Ian Kent <raven@themaw.net>
|
|||||||
}
|
}
|
||||||
this = this->next;
|
this = this->next;
|
||||||
}
|
}
|
||||||
|
@@ -1188,7 +1181,7 @@ int parse_location(unsigned logopt, stru
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (!add_path(*hosts, path, strlen(path))) {
|
||||||
|
+ if (!add_path(*hosts, path)) {
|
||||||
|
free_host_list(hosts);
|
||||||
|
free(str);
|
||||||
|
return 0;
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
Summary: A tool for automatically mounting and unmounting filesystems
|
Summary: A tool for automatically mounting and unmounting filesystems
|
||||||
Name: autofs
|
Name: autofs
|
||||||
Version: 5.1.7
|
Version: 5.1.7
|
||||||
Release: 22%{?dist}
|
Release: 23%{?dist}
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
Source: https://www.kernel.org/pub/linux/daemons/autofs/v5/autofs-%{version}-2.tar.gz
|
Source: https://www.kernel.org/pub/linux/daemons/autofs/v5/autofs-%{version}-2.tar.gz
|
||||||
@ -356,6 +356,12 @@ fi
|
|||||||
%dir /etc/auto.master.d
|
%dir /etc/auto.master.d
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Aug 02 2021 Ian Kent <ikent@redhat.com> - 1:5.1.7-23
|
||||||
|
- bz1984813 - autofs: FTBFS due to dynamic PTHREAD_STACK_MIN (glibc 2.34 related)
|
||||||
|
- fix potential memory leak in "eliminate some more alloca usage" patch.
|
||||||
|
- remove unused parameter from add_path() in "eliminate some more alloca usage" patch.
|
||||||
|
- Related: rhbz#1984813
|
||||||
|
|
||||||
* Fri Jul 30 2021 Ian Kent <ikent@redhat.com> - 1:5.1.7-22
|
* Fri Jul 30 2021 Ian Kent <ikent@redhat.com> - 1:5.1.7-22
|
||||||
- bz1984813 - autofs: FTBFS due to dynamic PTHREAD_STACK_MIN (glibc 2.34 related)
|
- bz1984813 - autofs: FTBFS due to dynamic PTHREAD_STACK_MIN (glibc 2.34 related)
|
||||||
- eliminate some more alloca usage.
|
- eliminate some more alloca usage.
|
||||||
|
Loading…
Reference in New Issue
Block a user