[prev in list] [next in list] [prev in thread] [next in thread]
List: rpm-cvs
Subject: [CVS] RPM: rpm/ CHANGES rpm/rpmdb/ hdrfmt.c
From: "Jeff Johnson" <jbj () rpm5 ! org>
Date: 2008-06-29 22:19:00
Message-ID: 20080629221900.ACF78348490 () rpm5 ! org
[Download RAW message or body]
RPM Package Manager, CVS Repository
http://rpm5.org/cvs/
____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson
Root: /v/rpm/cvs Email: jbj@rpm5.org
Module: rpm Date: 30-Jun-2008 00:19:00
Branch: HEAD Handle: 2008062922190000
Modified files:
rpm CHANGES
rpm/rpmdb hdrfmt.c
Log:
- fix: specspo lookup broke because of 2nd tagName call side-effect.
Summary:
Revision Changes Path
1.2444 +1 -0 rpm/CHANGES
1.112 +7 -1 rpm/rpmdb/hdrfmt.c
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: rpm/CHANGES
============================================================================
$ cvs diff -u -r1.2443 -r1.2444 CHANGES
--- rpm/CHANGES 28 Jun 2008 22:15:53 -0000 1.2443
+++ rpm/CHANGES 29 Jun 2008 22:19:00 -0000 1.2444
@@ -1,5 +1,6 @@
5.1.0 -> 5.2a0:
+ - jbj: fix: specspo lookup broke because of 2nd tagName call side-effect.
- jbj: rpmwget: parse all wget options.
- jbj: rpmio: stub in rpmwget options using popt.
- jbj: rpmio: stub in rpmcurl options using popt.
@@ .
patch -p0 <<'@@ .'
Index: rpm/rpmdb/hdrfmt.c
============================================================================
$ cvs diff -u -r1.111 -r1.112 hdrfmt.c
--- rpm/rpmdb/hdrfmt.c 20 Jun 2008 22:26:22 -0000 1.111
+++ rpm/rpmdb/hdrfmt.c 29 Jun 2008 22:19:00 -0000 1.112
@@ -1749,12 +1749,18 @@
const char * msgid;
{ HE_t nhe = memset(alloca(sizeof(*nhe)), 0, sizeof(*nhe));
- const char * tn = tagName(he->tag);
+ const char * tn;
char * mk;
size_t nb = sizeof("()");
int xx;
nhe->tag = RPMTAG_NAME;
xx = headerGet(h, nhe, 0);
+ /*
+ * XXX Ick, tagName() is called by headerGet(), and the tagName()
+ * buffer is valid only until next tagName() call.
+ * For now, do the tagName() lookup after headerGet().
+ */
+ tn = tagName(he->tag);
if (tn) nb += strlen(tn);
if (nhe->p.str) nb += strlen(nhe->p.str);
mk = alloca(nb);
@@ .
______________________________________________________________________
RPM Package Manager http://rpm5.org
CVS Sources Repository rpm-cvs@rpm5.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic