diff options
author | erdgeist <> | 2007-12-17 18:55:38 +0000 |
---|---|---|
committer | erdgeist <> | 2007-12-17 18:55:38 +0000 |
commit | d9ed6c22bd26268b8ae51cc062e41f20e2dc68bd (patch) | |
tree | f06bd9d4ff083c874f33bf46dd9cd4db98592738 | |
parent | 0cfd1e575dae3a5705203b6b06b8a534a12ee652 (diff) |
Forgot to unlock bucket in case of malloc error, thanks to Astro for reporting.
-rw-r--r-- | ot_stats.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -122,8 +122,10 @@ static size_t stats_slash24s_txt( char * reply, size_t amount, uint32_t thresh ) | |||
122 | uint32_t *count = counts[ s24 >> NUM_LOWBITS ]; | 122 | uint32_t *count = counts[ s24 >> NUM_LOWBITS ]; |
123 | if( !count ) { | 123 | if( !count ) { |
124 | count = malloc( sizeof(uint32_t) * NUM_S24S ); | 124 | count = malloc( sizeof(uint32_t) * NUM_S24S ); |
125 | if( !count ) | 125 | if( !count ) { |
126 | mutex_bucket_unlock( bucket ); | ||
126 | goto bailout_cleanup; | 127 | goto bailout_cleanup; |
128 | } | ||
127 | byte_zero( count, sizeof( uint32_t ) * NUM_S24S ); | 129 | byte_zero( count, sizeof( uint32_t ) * NUM_S24S ); |
128 | counts[ s24 >> NUM_LOWBITS ] = count; | 130 | counts[ s24 >> NUM_LOWBITS ] = count; |
129 | } | 131 | } |