On Fri, May 27, 2011 at 4:53 PM, Jeff Johnson <n3...@mac.com> wrote: > Just FYI: > > These are deep internal interfaces which should NOT > be relied on within RPM. > > I.e. if you're segfaulting here you need an RPM upgrade, not a patch. > The fingerprinting code is NOT a supportable API, and IS being > actively refactored to be replaced and eliminated. > > I had imagined, in fact, I was not sure.
> This code path is explicitly exercised as part of monthly > releases, and the fact that the segfault wasn't seen indicates > a data driven obscure code path that SHOULD be looked at > carefully in the packaging, not in RPM. > Ok, for now revert and will ask the POLKY (I think) developer the test case. > > Short answer: You can expect further breakage. > > 73 de Jeff > > > On May 27, 2011, at 9:47 AM, Pinto Elia wrote: > > > RPM Package Manager, CVS Repository > > http://rpm5.org/cvs/ > > > ____________________________________________________________________________ > > > > Server: rpm5.org Name: Pinto Elia > > Root: /v/rpm/cvs Email: devzero2...@rpm5.org > > Module: rpm Date: 27-May-2011 15:47:30 > > Branch: HEAD Handle: 2011052713472901 > > > > Modified files: > > rpm CHANGES > > rpm/rpmdb fprint.c > > > > Log: > > In fpLookupSubdir, data returned by hash should be of type > > "struct rpmffi_s **" instead of "struct rpmffi_s *" to avoid > > segfault. Patch by Qing He. > > > > Summary: > > Revision Changes Path > > 1.3651 +3 -0 rpm/CHANGES > > 1.41 +3 -3 rpm/rpmdb/fprint.c > > > ____________________________________________________________________________ > > > > patch -p0 <<'@@ .' > > Index: rpm/CHANGES > > > ============================================================================ > > $ cvs diff -u -r1.3650 -r1.3651 CHANGES > > --- rpm/CHANGES 27 May 2011 07:19:54 -0000 1.3650 > > +++ rpm/CHANGES 27 May 2011 13:47:29 -0000 1.3651 > > @@ -8,6 +8,9 @@ > > - afb: yaml: use !!timestamp for timestamps > > > > 5.4.0 -> 5.4.1: > > + - devzero2000: In fpLookupSubdir, data returned by hash should be > of type > > + "struct rpmffi_s **" instead of "struct rpmffi_s *" to avoid > > + segfault. Patch by Qing He. > > - devzero2000: the elfutils --reloc-debug-sections is useful > > mostly for LKM and not in general. Better to enable > > when needed/useful and not systemwide. > > @@ . > > patch -p0 <<'@@ .' > > Index: rpm/rpmdb/fprint.c > > > ============================================================================ > > $ cvs diff -u -r1.40 -r1.41 fprint.c > > --- rpm/rpmdb/fprint.c 6 Mar 2010 16:20:46 -0000 1.40 > > +++ rpm/rpmdb/fprint.c 27 May 2011 13:47:30 -0000 1.41 > > @@ -333,7 +333,7 @@ > > *te = '\0'; > > > > while (te < se) { > > - struct rpmffi_s * recs; > > + struct rpmffi_s ** recs; > > int numRecs; > > int i; > > > > @@ -346,8 +346,8 @@ > > const char * link; > > int fx; > > > > - fx = recs[i].fileno; > > - fi = recs[i].p->fi; > > + fx = recs[i]->fileno; > > + fi = recs[i]->p->fi; > > flink = fi->flinks[fx]; > > if (!(flink && *flink != '\0')) > > continue; > > @@ . > > ______________________________________________________________________ > > RPM Package Manager http://rpm5.org > > CVS Sources Repository rpm-...@rpm5.org > >