rpm-4.5-69.i686 crash on Qt upgrade

Jeffrey Johnson n3npq at me.com
Tue Oct 2 22:21:44 CEST 2012


On Oct 2, 2012, at 3:37 PM, Jan Rękorajski <baggins at pld-linux.org> wrote:

> On Tue, 02 Oct 2012, Jeffrey Johnson wrote:
> 
>> 
>> On Oct 2, 2012, at 1:51 PM, Jan Rękorajski <baggins at pld-linux.org> wrote:
>> 
>>> 
>>> That package is built from the, quite large, qt4.spec so it's hard to
>>> spot anything there :(
>> 
>> Yes. I needed some understanding why some but not all packages are affected.
>> 
>>> Maybe %files will give a hint?
>>> 
>> 
>> Yes. I predict that if you move
>>    %attr(755,root,root) %{_qtdir}/bin/xmlpatternsvalidator
>> to the end of %files, then the problem will disappear.
> 
> Just FYI - moving that to the end of %files did not helped at all.
> I still see poisoned digests.
> 

Thanks for checking.

This patch SHOULD ensure ascii digest are terminated with a trailing \0

Index: rpmdb/legacy.c
===================================================================
RCS file: /v/rpm/cvs/rpm/rpmdb/legacy.c,v
retrieving revision 1.44.4.3
diff -p -u -w -r1.44.4.3 legacy.c
--- rpmdb/legacy.c	16 Apr 2012 23:43:34 -0000	1.44.4.3
+++ rpmdb/legacy.c	2 Oct 2012 20:17:21 -0000
@@ -282,8 +282,10 @@ int dodigest(int dalgo, const char * fn,
 exit:
     if (fsizep)
 	*fsizep = fsize;
-    if (!rc)
+    if (!rc) {
 	memcpy(digest, dsum, dlen);
+	if (asAscii) digest[dlen] = '\0';
+    }
     dsum = _free(dsum);
 
     return rc;

Is something else needed for the missing symlink end-point entry?

73 de Jeff



More information about the pld-devel-en mailing list