From e6e467b8352b6a62b8187fd241671eb55d0f6fc4 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 8 Apr 2008 07:59:52 +0000 Subject: Updated to fedora-glibc-20080408T0706 --- string/strfry.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'string') diff --git a/string/strfry.c b/string/strfry.c index d392d5526b..d3fcb14bab 100644 --- a/string/strfry.c +++ b/string/strfry.c @@ -26,7 +26,6 @@ strfry (char *string) { static int init; static struct random_data rdata; - size_t len, i; if (!init) { @@ -37,17 +36,18 @@ strfry (char *string) init = 1; } - len = strlen (string) - 1; - for (i = 0; i < len; ++i) - { - int32_t j; - __random_r (&rdata, &j); - j = j % (len - i) + i; - - char c = string[i]; - string[i] = string[j]; - string[j] = c; - } + size_t len = strlen (string); + if (len > 0) + for (size_t i = 0; i < len - 1; ++i) + { + int32_t j; + __random_r (&rdata, &j); + j = j % (len - i) + i; + + char c = string[i]; + string[i] = string[j]; + string[j] = c; + } return string; } -- cgit v1.2.3