aboutsummaryrefslogtreecommitdiffstats
path: root/main/libc0.9.32/0018-libcrypt-do-not-cast-away-const-of-key-salt.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/libc0.9.32/0018-libcrypt-do-not-cast-away-const-of-key-salt.patch')
-rw-r--r--main/libc0.9.32/0018-libcrypt-do-not-cast-away-const-of-key-salt.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/main/libc0.9.32/0018-libcrypt-do-not-cast-away-const-of-key-salt.patch b/main/libc0.9.32/0018-libcrypt-do-not-cast-away-const-of-key-salt.patch
new file mode 100644
index 0000000000..d79671739b
--- /dev/null
+++ b/main/libc0.9.32/0018-libcrypt-do-not-cast-away-const-of-key-salt.patch
@@ -0,0 +1,34 @@
+From c6363f33f5af361fea483dd6a7e0f42278f913bf Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 20 Nov 2011 02:34:49 -0500
+Subject: [PATCH] libcrypt: do not cast away const of key/salt
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+(cherry picked from commit 4a2b0641a3818ad14b886907368b6f6735615f6d)
+---
+ libcrypt/crypt.c | 7 +++++--
+ 1 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/libcrypt/crypt.c b/libcrypt/crypt.c
+index 8b361d3..89a2614 100644
+--- a/libcrypt/crypt.c
++++ b/libcrypt/crypt.c
+@@ -12,10 +12,13 @@
+
+ char *crypt(const char *key, const char *salt)
+ {
++ const unsigned char *ukey = (const unsigned char *)key;
++ const unsigned char *usalt = (const unsigned char *)salt;
++
+ /* First, check if we are supposed to be using the MD5 replacement
+ * instead of DES... */
+ if (salt[0]=='$' && salt[1]=='1' && salt[2]=='$')
+- return __md5_crypt((unsigned char*)key, (unsigned char*)salt);
++ return __md5_crypt(ukey, usalt);
+ else
+- return __des_crypt((unsigned char*)key, (unsigned char*)salt);
++ return __des_crypt(ukey, usalt);
+ }
+--
+1.7.8
+