Blob Blame History Raw
diff -up afflib-3.3.4/tools/afverify.cpp.gcc44 afflib-3.3.4/tools/afverify.cpp
--- afflib-3.3.4/tools/afverify.cpp.gcc44	2008-07-21 06:25:29.000000000 +0200
+++ afflib-3.3.4/tools/afverify.cpp	2009-03-02 12:48:59.000000000 +0100
@@ -240,12 +240,16 @@ string get_xml_field(const char *buf,con
 int  verify_bom_signature(AFFILE *af,const char *buf)
 {
     const char *cce = "</" AF_XML_AFFBOM ">\n";
-    char *chain_end = strstr(buf,cce);
+    char *buf_tmp;
+    char *cce_tmp;
+    strcpy(buf_tmp, buf);
+    strcpy(cce_tmp, cce);
+    char *chain_end = strstr(buf_tmp,cce_tmp);
     if(!chain_end){
 	warn("end of chain XML can't be found\n");
 	return -1;		// can't find it
     }
-    char *sig_start = chain_end + strlen(cce);
+    char *sig_start = chain_end + strlen(cce_tmp);
 
     BIO *seg = BIO_new_mem_buf((void *)buf,strlen(buf));
     BIO_seek(seg,0);