summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorLars Hjemli2010-08-29 17:40:51 +0200
committerLars Hjemli2010-08-29 17:40:51 +0200
commit6940b23b9e4698ba466a4616e4de77b986560ad3 (patch)
tree69dc61393b834474a8556d7b3969b327d223dc15
parent6d7552bc072599313ef423d69156d824c075572a (diff)
parent48434780ca62fde84337ea1e797f642de5ca50d5 (diff)
downloadcgit-6940b23b9e4698ba466a4616e4de77b986560ad3.tar
cgit-6940b23b9e4698ba466a4616e4de77b986560ad3.tar.gz
cgit-6940b23b9e4698ba466a4616e4de77b986560ad3.zip
Merge branch 'stable'
-rw-r--r--html.c9
-rwxr-xr-xtests/t0108-patch.sh2
2 files changed, 7 insertions, 4 deletions
diff --git a/html.c b/html.c
index 337baeb..eaabf72 100644
--- 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;
}
}
diff --git a/tests/t0108-patch.sh b/tests/t0108-patch.sh
index 33351d6..e608104 100755
--- a/tests/t0108-patch.sh
+++ b/tests/t0108-patch.sh
@@ -35,3 +35,5 @@ run_test 'generate patch for initial commit' '
run_test 'find `cgit` signature' '
tail -1 trash/tmp | grep -e "^cgit"
'
+
+tests_done
='n193' href='#n193'>193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227