--- ./build/files.c.orig 2011-07-26 17:08:21.000000000 +0000 +++ ./build/files.c 2011-07-26 17:08:39.000000000 +0000 @@ -1735,11 +1735,13 @@ static rpmRC processPackageFiles(rpmSpec struct FileList_s fl; const char *fileName; char buf[BUFSIZ]; - struct AttrRec_s arbuf; + struct AttrRec_s arbuf, def_arbuf; AttrRec specialDocAttrRec = &arbuf; + AttrRec def_specialDocAttrRec = &def_arbuf; char *specialDoc = NULL; nullAttrRec(specialDocAttrRec); + nullAttrRec(def_specialDocAttrRec); pkg->cpioList = NULL; if (pkg->fileFile) { @@ -1877,6 +1879,7 @@ static rpmRC processPackageFiles(rpmSpec specialDoc = _free(specialDoc); specialDoc = xstrdup(fileName); dupAttrRec(&fl.cur_ar, specialDocAttrRec); + dupAttrRec(&fl.def_ar, def_specialDocAttrRec); } else if (fl.currentFlags & RPMFILE_PUBKEY) { (void) processMetadataFile(pkg, &fl, fileName, RPMTAG_PUBKEYS); } else { @@ -1917,7 +1920,9 @@ static rpmRC processPackageFiles(rpmSpec fl.nLangs = 0; dupAttrRec(specialDocAttrRec, &fl.cur_ar); + dupAttrRec(def_specialDocAttrRec, &fl.def_ar); freeAttrRec(specialDocAttrRec); + freeAttrRec(def_specialDocAttrRec); (void) processBinaryFile(pkg, &fl, specialDoc);