summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apt-pkg/contrib/sha1.cc5
-rw-r--r--debian/changelog9
2 files changed, 11 insertions, 3 deletions
diff --git a/apt-pkg/contrib/sha1.cc b/apt-pkg/contrib/sha1.cc
index eae52d52f..abc2aaf9f 100644
--- a/apt-pkg/contrib/sha1.cc
+++ b/apt-pkg/contrib/sha1.cc
@@ -74,10 +74,9 @@ static void SHA1Transform(uint32_t state[5],uint8_t const buffer[64])
uint32_t l[16];
}
CHAR64LONG16;
- CHAR64LONG16 *block;
+ CHAR64LONG16 workspace, *block;
- uint8_t workspace[64];
- block = (CHAR64LONG16 *)workspace;
+ block = &workspace;
memcpy(block,buffer,sizeof(workspace));
/* Copy context->state[] to working vars */
diff --git a/debian/changelog b/debian/changelog
index 18b59ec4e..1eeb57ae7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+apt (0.8.15.4) unstable; urgency=low
+
+ [ David Miller ]
+ * apt-pkg/contrib/sha1.cc:
+ - fix illegally casts of on-stack buffer to a type requiring more
+ alignment than it has resulting in segfaults on sparc (Closes: #634696)
+
+ -- David Kalnischkies <kalnischkies@gmail.com> Tue, 26 Jul 2011 08:26:53 +0200
+
apt (0.8.15.3) unstable; urgency=low
[ Michael Vogt ]