22 lines
867 B
Diff
22 lines
867 B
Diff
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);
|