patches/ldbm.dif
author rohinis
Tue, 29 Nov 2011 17:32:55 +0000
branchs11express-2010-11
changeset 22234 c23e64da3e06
parent 9397 b16e349d18c5
permissions -rw-r--r--
2011-11-29 Rohini S <[email protected]> * patches/Python26-22-audio.diff: Fixes CVE-2010-1634 * specs/SUNWPython26.spec: Fixes CR 7085446
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9397
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
     1
diff -u -r1.66.2.3 -r1.66.2.9
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
     2
--- servers/slapd/back-ldbm/idl.c	28 Jul 2002 19:16:17 -0000	1.66.2.3
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
     3
+++ servers/slapd/back-ldbm/idl.c	13 Mar 2003 03:35:27 -0000	1.66.2.9
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
     4
@@ -48,17 +48,29 @@
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
     5
 #ifdef LDBM_DEBUG_IDL
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
     6
 static void idl_check(ID_BLOCK *idl)
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
     7
 {
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
     8
-	int i;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
     9
+	int i, max;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    10
 	ID_BLOCK last;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    11
 
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    12
-	if( ID_BLOCK_INDIRECT(idl) || ID_BLOCK_ALLIDS(idl)
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    13
-		|| ID_BLOCK_NIDS(idl) <= 1 )
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    14
+	if( ID_BLOCK_ALLIDS(idl) )
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    15
+	{
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    16
+		return;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    17
+	}
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    18
+#ifndef USE_INDIRECT_NIDS
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    19
+	if( ID_BLOCK_INDIRECT(idl) )
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    20
+	{
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    21
+		for ( max = 0; !ID_BLOCK_NOID(idl, max); max++ ) ;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    22
+	} else
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    23
+#endif
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    24
+	{
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    25
+		max = ID_BLOCK_NIDS(idl);
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    26
+	}
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    27
+	if ( max <= 1 )
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    28
 	{
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    29
 		return;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    30
 	}
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    31
 
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    32
 	for( last = ID_BLOCK_ID(idl, 0), i = 1;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    33
-		i < ID_BLOCK_NIDS(idl);
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    34
+		i < max;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    35
 		last = ID_BLOCK_ID(idl, i), i++ )
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    36
 	{
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    37
 		assert (last < ID_BLOCK_ID(idl, i) );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    38
@@ -170,8 +182,7 @@
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    39
 	Datum	data;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    40
 	ID_BLOCK	*idl;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    41
 	ID_BLOCK	**tmp;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    42
-	int	nids;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    43
-	unsigned i;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    44
+	unsigned	i, nids, nblocks;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    45
 
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    46
 	idl = idl_fetch_one( be, db, key );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    47
 
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    48
@@ -197,21 +208,17 @@
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    49
 
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    50
 #ifndef USE_INDIRECT_NIDS
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    51
 	/* count the number of blocks & allocate space for pointers to them */
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    52
-	for ( i = 0; !ID_BLOCK_NOID(idl, i); i++ )
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    53
+	for ( nblocks = 0; !ID_BLOCK_NOID(idl, nblocks); nblocks++ )
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    54
 		;	/* NULL */
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    55
 #else
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    56
-	i = ID_BLOCK_NIDS(idl);
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    57
+	nblocks = ID_BLOCK_NIDS(idl);
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    58
 #endif
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    59
-	tmp = (ID_BLOCK **) ch_malloc( (i + 1) * sizeof(ID_BLOCK *) );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    60
+	tmp = (ID_BLOCK **) ch_malloc( nblocks * sizeof(ID_BLOCK *) );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    61
 
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    62
 	/* read in all the blocks */
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    63
 	cont_alloc( &data, &key );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    64
 	nids = 0;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    65
-#ifndef USE_INDIRECT_NIDS
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    66
-	for ( i = 0; !ID_BLOCK_NOID(idl, i); i++ ) {
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    67
-#else
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    68
-	for ( i = 0; i < ID_BLOCK_NIDS(idl); i++ ) {
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    69
-#endif
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    70
+	for ( i = 0; i < nblocks; i++ ) {
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    71
 		cont_id( &data, ID_BLOCK_ID(idl, i) );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    72
 
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    73
 		if ( (tmp[i] = idl_fetch_one( be, db, data )) == NULL ) {
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    74
@@ -228,7 +235,6 @@
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    75
 
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    76
 		nids += ID_BLOCK_NIDS(tmp[i]);
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    77
 	}
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    78
-	tmp[i] = NULL;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    79
 	cont_free( &data );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    80
 	idl_free( idl );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    81
 
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    82
@@ -238,7 +244,7 @@
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    83
 	nids = 0;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    84
 
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    85
 	/* copy in all the ids from the component blocks */
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    86
-	for ( i = 0; tmp[i] != NULL; i++ ) {
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    87
+	for ( i = 0; i < nblocks; i++ ) {
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    88
 		if ( tmp[i] == NULL ) {
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    89
 			continue;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    90
 		}
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    91
@@ -253,6 +259,8 @@
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    92
 	}
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    93
 	free( (char *) tmp );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    94
 
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    95
+	assert( ID_BLOCK_NIDS(idl) == nids );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    96
+
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    97
 #ifdef LDBM_DEBUG_IDL
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    98
 	idl_check(idl);
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
    99
 #endif
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   100
@@ -296,11 +304,6 @@
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   101
 	flags = LDBM_REPLACE;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   102
 	rc = ldbm_cache_store( db, key, data, flags );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   103
 
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   104
-#ifdef LDBM_DEBUG
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   105
-	Statslog( LDAP_DEBUG_STATS, "<= idl_store(): rc=%d\n",
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   106
-		rc, 0, 0, 0, 0 );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   107
-#endif
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   108
-
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   109
 	/* Debug( LDAP_DEBUG_TRACE, "<= idl_store %d\n", rc, 0, 0 ); */
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   110
 	return( rc );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   111
 }
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   112
@@ -550,14 +553,13 @@
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   113
 
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   114
 #ifndef USE_INDIRECT_NIDS
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   115
 	/* select the block to try inserting into *//* XXX linear search XXX */
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   116
-	for ( i = 0; !ID_BLOCK_NOID(idl, i) && id > ID_BLOCK_ID(idl, i); i++ )
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   117
+	for ( i = 0; !ID_BLOCK_NOID(idl, i) && id >= ID_BLOCK_ID(idl, i); i++ )
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   118
 		;	/* NULL */
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   119
 #else
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   120
 	i = idl_find(idl, id);
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   121
-	if (ID_BLOCK_ID(idl, i) < id)
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   122
+	if (ID_BLOCK_ID(idl, i) <= id)
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   123
 		i++;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   124
 #endif
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   125
-
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   126
 	if ( i != 0 ) {
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   127
 		i--;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   128
 		first = 0;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   129
@@ -565,6 +567,11 @@
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   130
 		first = 1;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   131
 	}
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   132
 
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   133
+	/* At this point, the following condition must be true:
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   134
+	 * ID_BLOCK_ID(idl, i) <= id && id < ID_BLOCK_ID(idl, i+1)
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   135
+	 * except when i is the first or the last block.
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   136
+	 */
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   137
+
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   138
 	/* get the block */
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   139
 	cont_alloc( &k2, &key );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   140
 	cont_id( &k2, ID_BLOCK_ID(idl, i) );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   141
@@ -626,10 +633,11 @@
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   142
 #else
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   143
 		if ( !first && (unsigned long)(i + 1) < ID_BLOCK_NIDS(idl) ) {
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   144
 #endif
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   145
+			Datum k3;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   146
 			/* read it in */
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   147
-			cont_alloc( &k2, &key );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   148
-			cont_id( &k2, ID_BLOCK_ID(idl, i) );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   149
-			if ( (tmp2 = idl_fetch_one( be, db, k2 )) == NULL ) {
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   150
+			cont_alloc( &k3, &key );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   151
+			cont_id( &k3, ID_BLOCK_ID(idl, i + 1) );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   152
+			if ( (tmp2 = idl_fetch_one( be, db, k3 )) == NULL ) {
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   153
 #ifdef NEW_LOGGING
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   154
 				LDAP_LOG( INDEX, ERR,
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   155
 					   "idl_insert_key: idl_fetch_one returned NULL\n", 0, 0, 0);
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   156
@@ -640,7 +648,7 @@
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   157
 #endif
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   158
 
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   159
 				/* split the original block */
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   160
-				cont_free( &k2 );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   161
+				cont_free( &k3 );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   162
 				goto split;
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   163
 			}
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   164
 
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   165
@@ -680,7 +688,7 @@
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   166
 			    db->dbc_maxids )) ) {
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   167
 			case 1:		/* id inserted first in block */
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   168
 				rc = idl_change_first( be, db, key, idl,
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   169
-				    i + 1, k2, tmp2 );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   170
+				    i + 1, k3, tmp2 );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   171
 				/* FALL */
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   172
 
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   173
 			case 2:		/* id already there - how? */
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   174
@@ -704,6 +712,8 @@
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   175
 
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   176
 				idl_free( tmp );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   177
 				idl_free( tmp2 );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   178
+				cont_free( &k3 );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   179
+				cont_free( &k2 );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   180
 				idl_free( idl );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   181
 				return( 0 );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   182
 
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   183
@@ -712,6 +722,7 @@
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   184
 			}
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   185
 
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   186
 			idl_free( tmp2 );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   187
+			cont_free( &k3 );
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   188
 		}
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   189
 
b16e349d18c5 the easy part of the reorg (most files moved around)
laca
parents:
diff changeset
   190
 split: