Fix rhbz#695424
This commit is contained in:
parent
41be15ef5c
commit
7d832096ca
@ -1,7 +1,7 @@
|
||||
Summary: A library that performs asynchronous DNS operations
|
||||
Name: c-ares
|
||||
Version: 1.7.4
|
||||
Release: 2%{?dist}
|
||||
Release: 3%{?dist}
|
||||
License: MIT
|
||||
Group: System Environment/Libraries
|
||||
URL: http://c-ares.haxx.se/
|
||||
@ -9,6 +9,7 @@ Source0: http://c-ares.haxx.se/c-ares-%{version}.tar.gz
|
||||
Source1: LICENSE
|
||||
Patch0: %{name}-1.7.0-optflags.patch
|
||||
Patch1: c-ares-multilib.patch
|
||||
Patch2: cleanup-avoid-unsafe-typecasts.patch
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
@ -31,6 +32,7 @@ compile applications or shared objects that use c-ares.
|
||||
%setup -q
|
||||
%patch0 -p1 -b .optflags
|
||||
%patch1 -p1 -b .multilib
|
||||
%patch2 -p1 -b .typecasts
|
||||
cp %{SOURCE1} .
|
||||
f=CHANGES ; iconv -f iso-8859-1 -t utf-8 $f -o $f.utf8 ; mv $f.utf8 $f
|
||||
|
||||
@ -67,6 +69,9 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{_mandir}/man3/ares_*
|
||||
|
||||
%changelog
|
||||
* Mon Apr 11 2011 Jakub Hrozek <jhrozek@redhat.com> - 1.7.4-3
|
||||
- Apply upstream patch to fix rhbz#695424
|
||||
|
||||
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.4-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
|
56
cleanup-avoid-unsafe-typecasts.patch
Normal file
56
cleanup-avoid-unsafe-typecasts.patch
Normal file
@ -0,0 +1,56 @@
|
||||
From 2d5ed6400ba430f412ebc9748eb847771907776d Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Stenberg <daniel@haxx.se>
|
||||
Date: Sat, 18 Dec 2010 22:20:16 +0100
|
||||
Subject: [PATCH] cleanup: avoid unsafe typecasts
|
||||
|
||||
Avoid the risk of reading 16bit data from an unaligned address by using
|
||||
a macro that is adapted for this.
|
||||
---
|
||||
ares_parse_mx_reply.c | 4 ++--
|
||||
ares_parse_srv_reply.c | 6 +++---
|
||||
2 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/ares_parse_mx_reply.c b/ares_parse_mx_reply.c
|
||||
index 186ddd3..2180054 100644
|
||||
--- a/ares_parse_mx_reply.c
|
||||
+++ b/ares_parse_mx_reply.c
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
int
|
||||
ares_parse_mx_reply (const unsigned char *abuf, int alen,
|
||||
- struct ares_mx_reply **mx_out)
|
||||
+ struct ares_mx_reply **mx_out)
|
||||
{
|
||||
unsigned int qdcount, ancount, i;
|
||||
const unsigned char *aptr, *vptr;
|
||||
@@ -134,7 +134,7 @@ ares_parse_mx_reply (const unsigned char *abuf, int alen,
|
||||
mx_last = mx_curr;
|
||||
|
||||
vptr = aptr;
|
||||
- mx_curr->priority = ntohs (*((unsigned short *)vptr));
|
||||
+ mx_curr->priority = DNS__16BIT(vptr);
|
||||
vptr += sizeof(unsigned short);
|
||||
|
||||
status = ares_expand_name (vptr, abuf, alen, &mx_curr->host, &len);
|
||||
diff --git a/ares_parse_srv_reply.c b/ares_parse_srv_reply.c
|
||||
index 7d443b3..9c7eb6e 100644
|
||||
--- a/ares_parse_srv_reply.c
|
||||
+++ b/ares_parse_srv_reply.c
|
||||
@@ -139,11 +139,11 @@ ares_parse_srv_reply (const unsigned char *abuf, int alen,
|
||||
srv_last = srv_curr;
|
||||
|
||||
vptr = aptr;
|
||||
- srv_curr->priority = ntohs (*((unsigned short *)vptr));
|
||||
+ srv_curr->priority = DNS__16BIT(vptr);
|
||||
vptr += sizeof(unsigned short);
|
||||
- srv_curr->weight = ntohs (*((unsigned short *)vptr));
|
||||
+ srv_curr->weight = DNS__16BIT(vptr);
|
||||
vptr += sizeof(unsigned short);
|
||||
- srv_curr->port = ntohs (*((unsigned short *)vptr));
|
||||
+ srv_curr->port = DNS__16BIT(vptr);
|
||||
vptr += sizeof(unsigned short);
|
||||
|
||||
status = ares_expand_name (vptr, abuf, alen, &srv_curr->host, &len);
|
||||
--
|
||||
1.7.4.2
|
||||
|
Loading…
Reference in New Issue
Block a user