]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
treat overlong utf8 sequences as error
authorMichael Schroeder <mls@suse.de>
Wed, 17 Apr 2013 11:51:25 +0000 (13:51 +0200)
committerMichael Schroeder <mls@suse.de>
Wed, 17 Apr 2013 11:52:14 +0000 (13:52 +0200)
ext/repo_rpmdb.c
ext/repo_rpmdb_pubkey.c

index e84b8ec71ae17c972a1322b1077d20c99d396dc1..c3fa5ec82342e6490a297fd739666fea8baab27c 100644 (file)
@@ -372,13 +372,13 @@ setutf8string(Repodata *repodata, Id handle, Id tag, const char *str)
            {
               /* check for overlong sequences */
               if ((c & 0x820823e0) == 0x80000000)
-                c = 0xfdffffff;
+                break;
               else if ((c & 0x020821f0) == 0x02000000)
-                c = 0xfff7ffff;
+                break;
               else if ((c & 0x000820f8) == 0x00080000)
-                c = 0xffffd000;
+                break;
               else if ((c & 0x0000207c) == 0x00002000)
-                c = 0xffffff70;
+                break;
             }
         }
       else
index 4920650a020187d61c15ade007e9a60cfe306c5f..3691332bddc4e7d4fd5ae79810814f8ac4e41adf 100644 (file)
@@ -61,13 +61,13 @@ setutf8string(Repodata *repodata, Id handle, Id tag, const char *str)
            {
               /* check for overlong sequences */
               if ((c & 0x820823e0) == 0x80000000)
-                c = 0xfdffffff;
+                break;
               else if ((c & 0x020821f0) == 0x02000000)
-                c = 0xfff7ffff;
+                break;
               else if ((c & 0x000820f8) == 0x00080000)
-                c = 0xffffd000;
+                break;
               else if ((c & 0x0000207c) == 0x00002000)
-                c = 0xffffff70;
+                break;
             }
         }
       else