|
 |
3c6710 |
--- cvsps-2.2b1/cvsps.c 2010-09-07 18:13:42.760727491 +0200
|
|
 |
3c6710 |
+++ cvsps-2.2b1_/cvsps.c 2010-09-07 18:05:11.083729441 +0200
|
|
 |
3c6710 |
@@ -1065,17 +1065,16 @@ static CvsFile * parse_file(const char *
|
|
 |
3c6710 |
{
|
|
 |
3c6710 |
CvsFile * retval;
|
|
 |
3c6710 |
char fn[PATH_MAX];
|
|
 |
3c6710 |
- int len = strlen(buff + 10);
|
|
 |
3c6710 |
+ size_t len = strlen(buff + 10);
|
|
 |
3c6710 |
char * p;
|
|
 |
3c6710 |
|
|
 |
3c6710 |
/* once a single file has been parsed ok we set this */
|
|
 |
3c6710 |
static int path_ok;
|
|
 |
3c6710 |
-
|
|
 |
3c6710 |
+
|
|
 |
3c6710 |
/* chop the ",v" string and the "LF" */
|
|
 |
3c6710 |
len -= 3;
|
|
 |
3c6710 |
memcpy(fn, buff + 10, len);
|
|
 |
3c6710 |
fn[len] = 0;
|
|
 |
3c6710 |
-
|
|
 |
3c6710 |
if (strncmp(fn, strip_path, strip_path_len) != 0)
|
|
 |
3c6710 |
{
|
|
 |
3c6710 |
/* if the very first file fails the strip path,
|
|
 |
3c6710 |
@@ -1096,10 +1095,10 @@ static CvsFile * parse_file(const char *
|
|
 |
3c6710 |
|
|
 |
3c6710 |
while ((p = strstr(p, repository_path)))
|
|
 |
3c6710 |
lastp = p++;
|
|
 |
3c6710 |
-
|
|
 |
3c6710 |
+
|
|
 |
3c6710 |
if (lastp)
|
|
 |
3c6710 |
{
|
|
 |
3c6710 |
- int len = strlen(repository_path);
|
|
 |
3c6710 |
+ size_t len = strlen(repository_path);
|
|
 |
3c6710 |
memcpy(strip_path, fn, lastp - fn + len + 1);
|
|
 |
3c6710 |
strip_path_len = lastp - fn + len + 1;
|
|
 |
3c6710 |
strip_path[strip_path_len] = 0;
|
|
 |
3c6710 |
@@ -1114,16 +1113,26 @@ static CvsFile * parse_file(const char *
|
|
 |
3c6710 |
*
|
|
 |
3c6710 |
* For now just ignore such files
|
|
 |
3c6710 |
*/
|
|
 |
3c6710 |
- debug(DEBUG_APPMSG1, "WARNING: file %s doesn't match strip_path %s. ignoring",
|
|
 |
3c6710 |
+ debug(DEBUG_APPMSG1, "WARNING: file %s doesn't match strip_path %s. ignoring",
|
|
 |
3c6710 |
fn, strip_path);
|
|
 |
3c6710 |
return NULL;
|
|
 |
3c6710 |
}
|
|
 |
3c6710 |
|
|
 |
3c6710 |
ok:
|
|
 |
3c6710 |
- path_ok = 1;
|
|
 |
3c6710 |
-
|
|
 |
3c6710 |
+ /*
|
|
 |
3c6710 |
+ fix for rhbz#576076
|
|
 |
3c6710 |
+ ./cvsps --norc -q --cvs-direct -u -A --root :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot NSS
|
|
 |
3c6710 |
+ */
|
|
 |
3c6710 |
+ if(len <= strip_path_len)
|
|
 |
3c6710 |
+ {
|
|
 |
3c6710 |
+ debug(DEBUG_APPMSG1, "WARNING: file %s doesn't match strip_path %s. ignoring",
|
|
 |
3c6710 |
+ fn, strip_path);
|
|
 |
3c6710 |
+ return NULL;
|
|
 |
3c6710 |
+ }
|
|
 |
3c6710 |
/* remove from beginning the 'strip_path' string */
|
|
 |
3c6710 |
len -= strip_path_len;
|
|
 |
3c6710 |
+ path_ok = 1;
|
|
 |
3c6710 |
+
|
|
 |
3c6710 |
memmove(fn, fn + strip_path_len, len);
|
|
 |
3c6710 |
fn[len] = 0;
|
|
 |
3c6710 |
|