]> granicus.if.org Git - postgresql/commitdiff
Little memmory leak in RelationFlushRelation() in freeing
authorVadim B. Mikheev <vadim4o@yahoo.com>
Tue, 20 May 1997 11:41:38 +0000 (11:41 +0000)
committerVadim B. Mikheev <vadim4o@yahoo.com>
Tue, 20 May 1997 11:41:38 +0000 (11:41 +0000)
relation->rd_att (relation' TupleDesc).

src/backend/utils/cache/relcache.c

index 146135d5967e79961c525bbc2a3433b62dc05f73..31c8f35214456dc381ec5923717b819762128be2 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.6 1996/11/27 08:16:01 bryanh Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.7 1997/05/20 11:41:38 vadim Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1220,11 +1220,11 @@ RelationFlushRelation(Relation *relationPtr,
        
        FileInvalidate(RelationGetSystemPort(relation));
        
-       i = relation->rd_rel->relnatts - 1;
-       p = &relation->rd_att->attrs[i];
-       while ((i -= 1) >= 0) {
-           pfree(*p--);
-       }
+       p = relation->rd_att->attrs;
+       for (i = 0; i < relation->rd_rel->relnatts; i++, p++)
+           pfree (*p);
+       pfree (relation->rd_att->attrs);
+       pfree (relation->rd_att);
 
 #if 0
        if (relation->rd_rules) {