]> gitweb.ps.run Git - ps-cgit/blobdiff - html.c
Merge branch 'stable'
[ps-cgit] / html.c
diff --git a/html.c b/html.c
index 337baebea5c8c9540f2b4dcf2ee4895e9e5cdd74..eaabf7274eca79c7f9391f50130ff82e99199879 100644 (file)
--- a/html.c
+++ b/html.c
@@ -268,19 +268,20 @@ int hextoint(char c)
 
 char *convert_query_hexchar(char *txt)
 {
-       int d1, d2;
-       if (strlen(txt) < 3) {
+       int d1, d2, n;
+       n = strlen(txt);
+       if (n < 3) {
                *txt = '\0';
                return txt-1;
        }
        d1 = hextoint(*(txt+1));
        d2 = hextoint(*(txt+2));
        if (d1<0 || d2<0) {
-               strcpy(txt, txt+3);
+               memmove(txt, txt+3, n-3);
                return txt-1;
        } else {
                *txt = d1 * 16 + d2;
-               strcpy(txt+1, txt+3);
+               memmove(txt+1, txt+3, n-2);
                return txt;
        }
 }