Fix socket_wrapper on ppc64le

resolves: #1465147
This commit is contained in:
Andreas Schneider 2017-08-01 12:17:02 +02:00
parent 71ce8fe900
commit d10e9d0c58
2 changed files with 39 additions and 2 deletions

View File

@ -0,0 +1,29 @@
From bbbea2289e11ba9f2381d90e761260fbdf651e1c Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@samba.org>
Date: Wed, 2 Aug 2017 13:21:59 +0200
Subject: [PATCH] swrap: Fix prototype of open[64] to prevent segfault on
ppc64le
The calling conventions for vaarg are different on ppc64le. The patch
fixes segfaults on that platform.
Thanks to Florian Weimer who helped debugging it!
Signed-off-by: Andreas Schneider <asn@samba.org>
---
src/socket_wrapper.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: socket_wrapper-1.1.7/src/socket_wrapper.c
===================================================================
--- socket_wrapper-1.1.7.orig/src/socket_wrapper.c
+++ socket_wrapper-1.1.7/src/socket_wrapper.c
@@ -372,7 +372,7 @@ struct swrap_libc_fns {
socklen_t *optlen);
int (*libc_ioctl)(int d, unsigned long int request, ...);
int (*libc_listen)(int sockfd, int backlog);
- int (*libc_open)(const char *pathname, int flags, mode_t mode);
+ int (*libc_open)(const char *pathname, int flags, ...);
int (*libc_pipe)(int pipefd[2]);
int (*libc_read)(int fd, void *buf, size_t count);
ssize_t (*libc_readv)(int fd, const struct iovec *iov, int iovcnt);

View File

@ -1,6 +1,6 @@
Name: socket_wrapper
Version: 1.1.7
Release: 3%{?dist}
Release: 4%{?dist}
License: BSD
Summary: A library passing all socket communications through Unix sockets
@ -8,6 +8,8 @@ Url: http://cwrap.org/
Source0: https://ftp.samba.org/pub/cwrap/%{name}-%{version}.tar.gz
Patch0: socket_wrapper-1.1.7-fix_open_prototype_for_ppc64le.patch
BuildRequires: cmake
BuildRequires: libcmocka-devel >= 0.4.1
@ -29,7 +31,7 @@ This package doesn't have a devel package because this project is for
development/testing.
%prep
%setup -q
%autosetup -p1
%build
if test ! -e "obj"; then
@ -55,6 +57,9 @@ popd
%check
pushd obj
ctest -V
LD_PRELOAD=src/libsocket_wrapper.so bash -c '>/dev/null'
popd
%files
@ -68,6 +73,9 @@ popd
%{_mandir}/man1/socket_wrapper.1*
%changelog
* Wed Aug 02 2017 Andreas Schneider <asn@redhat.com> - 1.1.7-4
- resolves: #1465147 - Fix socket_wrapper on ppc64le
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild