Fix invalid write while unpacking AF_UNIX sockaddr

This commit is contained in:
Petr Písař 2012-03-27 09:31:13 +02:00
parent 12a8f5d649
commit 5dcba0098a
2 changed files with 33 additions and 1 deletions

View File

@ -0,0 +1,26 @@
From f76970735bf4f9b2587d109aff732cd5a28b01ab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Tue, 27 Mar 2012 09:26:40 +0200
Subject: [PATCH] Fix AF_UNIX sockaddr padding initialization
<http://rt.cpan.org/Public/Bug/Display.html?id=76067>.
---
Socket.xs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Socket.xs b/Socket.xs
index 3999c4b..fc0b39a 100644
--- a/Socket.xs
+++ b/Socket.xs
@@ -712,7 +712,7 @@ unpack_sockaddr_un(sun_sv)
getpeername and getsockname is not equal to sizeof(addr). */
if (sockaddrlen < sizeof(addr)) {
Copy(sun_ad, &addr, sockaddrlen, char);
- Zero(&addr+sockaddrlen, sizeof(addr)-sockaddrlen, char);
+ Zero(((char*)&addr)+sockaddrlen, sizeof(addr)-sockaddrlen, char);
} else {
Copy(sun_ad, &addr, sizeof(addr), char);
}
--
1.7.9.3

View File

@ -1,12 +1,14 @@
%global cpan_version 2.000
Name: perl-Socket
Version: %(eval echo '%{cpan_version}' | tr '_' '.')
Release: 2%{?dist}
Release: 3%{?dist}
Summary: C socket.h defines and structure manipulators
License: GPL+ or Artistic
Group: Development/Libraries
URL: http://search.cpan.org/dist/Socket/
Source0: http://search.cpan.org/CPAN/authors/id/P/PE/PEVANS/Socket-%{cpan_version}.tar.gz
# Bug #806543, CPAN RT#76067
Patch0: Socket-2.000-Fix-AF_UNIX-sockaddr-padding-initialization.patch
BuildRequires: perl(ExtUtils::MakeMaker)
BuildRequires: perl(ExtUtils::CBuilder)
BuildRequires: perl(ExtUtils::Constant) >= 0.23
@ -30,6 +32,7 @@ includes all of the commonly used pound-defines like AF_INET, SOCK_STREAM, etc.
%prep
%setup -q -n Socket-%{cpan_version}
%patch0 -p1
%build
%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="$RPM_OPT_FLAGS"
@ -52,6 +55,9 @@ make test
%{_mandir}/man3/*
%changelog
* Tue Mar 27 2012 Petr Pisar <ppisar@redhat.com> - 2.000-3
- Fix invalid write while unpacking AF_UNIX sockaddr (bug #806543)
* Mon Mar 19 2012 Petr Pisar <ppisar@redhat.com> - 2.000-2
- Increase release number due to F17 build