summaryrefslogtreecommitdiffstats
path: root/kdm/backend/util.c
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-04-21 19:01:33 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-04-21 19:01:33 +0000
commit0a9caa3b3716846c944b76795b182caa4050e63a (patch)
tree93edad259cad5c669297858f198ae2bc88b5be28 /kdm/backend/util.c
parent9885131c3e220b351fa05ff9fdee265b7f83549e (diff)
downloadtdebase-0a9caa3b3716846c944b76795b182caa4050e63a.tar.gz
tdebase-0a9caa3b3716846c944b76795b182caa4050e63a.zip
Backport of SVN r1097263 to fix Solaris compilation with [CVE-2010-0436]
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1117290 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kdm/backend/util.c')
-rw-r--r--kdm/backend/util.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/kdm/backend/util.c b/kdm/backend/util.c
index c3e9a520c..b980862f1 100644
--- a/kdm/backend/util.c
+++ b/kdm/backend/util.c
@@ -35,6 +35,7 @@ from the copyright holder.
*/
#include "dm.h"
+#include "dm_auth.h"
#include "dm_error.h"
#include <string.h>
@@ -519,6 +520,20 @@ mTime( const char *fn )
return st.st_mtime;
}
+void
+randomStr( char *s )
+{
+ static const char letters[] =
+ "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
+ unsigned i, rn = secureRandom();
+
+ for (i = 0; i < 6; i++) {
+ *s++ = letters[rn % 62];
+ rn /= 62;
+ }
+ *s = 0;
+}
+
static int
StrNChrCnt( const char *s, int slen, char c )
{