[BusyBox-cvs] busybox/libbb obscure.c,1.3,1.4

Erik Andersen andersen at busybox.net
Wed Jul 30 07:57:09 UTC 2003


Update of /var/cvs/busybox/libbb
In directory winder:/tmp/cvs-serv21042/libbb

Modified Files:
	obscure.c 
Log Message:
Vladimir N. Oleynik writes:

    This moment have algoritmicaly problem, not overflow:
    strcat(wrapped, wrapped) - may be looped.

    Hand patch:

    - else if (strstr(strcat(wrapped, wrapped), newmono))
    + else {
    +    safe_strncpy(wrapped + lenwrap, wrapped, lenwrap + 1);
    +    if (strstr(wrapped, newmono))
    +}

    --w
    vodz



Index: obscure.c
===================================================================
RCS file: /var/cvs/busybox/libbb/obscure.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- obscure.c	19 Mar 2003 09:12:07 -0000	1.3
+++ obscure.c	30 Jul 2003 07:57:06 -0000	1.4
@@ -157,8 +157,11 @@
 	else if (similiar(wrapped, newmono))
 		msg = "too similiar";
 
-	else if (strstr(strcat(wrapped, wrapped), newmono))
-		msg = "rotated";
+	else {
+		safe_strncpy(wrapped + lenwrap, wrapped, lenwrap + 1);
+		if (strstr(wrapped, newmono))
+			msg = "rotated";
+	}
 
 	bzero(newmono, strlen(newmono));
 	bzero(wrapped, lenwrap);




More information about the busybox-cvs mailing list