crypto: fix bug in large buffer handling
[gnulib.git] / lib / unistr / u16-check.c
index 380cec2..c79081f 100644 (file)
@@ -1,5 +1,5 @@
 /* Check UTF-16 string.
-   Copyright (C) 2002, 2006-2007 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2006-2007, 2009-2012 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2002.
 
    This program is free software: you can redistribute it and/or modify it
@@ -31,19 +31,19 @@ u16_check (const uint16_t *s, size_t n)
       uint16_t c = *s;
 
       if (c < 0xd800 || c >= 0xe000)
-       {
-         s++;
-         continue;
-       }
+        {
+          s++;
+          continue;
+        }
       if (c < 0xdc00)
-       {
-         if (s + 2 <= s_end
-             && s[1] >= 0xdc00 && s[1] < 0xe000)
-           {
-             s += 2;
-             continue;
-           }
-       }
+        {
+          if (s + 2 <= s_end
+              && s[1] >= 0xdc00 && s[1] < 0xe000)
+            {
+              s += 2;
+              continue;
+            }
+        }
       /* invalid or incomplete multibyte character */
       return s;
     }