mirror of
https://github.com/Llewellynvdm/conky.git
synced 2024-11-15 17:47:09 +00:00
Fix memleak in is_disk()
This commit is contained in:
parent
1b90218c33
commit
47965eedbc
@ -298,6 +298,9 @@ static void print_version(void)
|
|||||||
<< " * Imlib2\n"
|
<< " * Imlib2\n"
|
||||||
#endif /* BUILD_LUA_IMLIB2 */
|
#endif /* BUILD_LUA_IMLIB2 */
|
||||||
#endif /* BUILD_LUA */
|
#endif /* BUILD_LUA */
|
||||||
|
#ifdef DEBUG
|
||||||
|
<< " * Debugging extensions\n"
|
||||||
|
#endif
|
||||||
;
|
;
|
||||||
|
|
||||||
exit(EXIT_SUCCESS);
|
exit(EXIT_SUCCESS);
|
||||||
@ -4498,6 +4501,8 @@ int main(int argc, char **argv)
|
|||||||
curl_global_cleanup();
|
curl_global_cleanup();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
disk_cleanup();
|
||||||
|
|
||||||
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
|
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
|
||||||
kvm_close(kd);
|
kvm_close(kd);
|
||||||
#endif
|
#endif
|
||||||
|
@ -63,6 +63,7 @@ struct diskio_stat {
|
|||||||
extern struct diskio_stat stats;
|
extern struct diskio_stat stats;
|
||||||
|
|
||||||
struct diskio_stat *prepare_diskio_stat(const char *);
|
struct diskio_stat *prepare_diskio_stat(const char *);
|
||||||
|
void disk_cleanup(void);
|
||||||
int update_diskio(void);
|
int update_diskio(void);
|
||||||
void clear_diskio_stats(void);
|
void clear_diskio_stats(void);
|
||||||
void update_diskio_values(struct diskio_stat *, unsigned int, unsigned int);
|
void update_diskio_values(struct diskio_stat *, unsigned int, unsigned int);
|
||||||
|
15
src/linux.cc
15
src/linux.cc
@ -2291,12 +2291,25 @@ typedef struct DEV_LIST_TYPE
|
|||||||
|
|
||||||
} DEV_LIST, *DEV_LIST_PTR;
|
} DEV_LIST, *DEV_LIST_PTR;
|
||||||
|
|
||||||
|
DEV_LIST_PTR dev_head = NULL;
|
||||||
|
|
||||||
|
void disk_cleanup() {
|
||||||
|
DEV_LIST_PTR dev_next, dev_cur = dev_head;
|
||||||
|
|
||||||
|
while(dev_cur) {
|
||||||
|
dev_next = dev_cur->next;
|
||||||
|
free(dev_cur->dev_name);
|
||||||
|
free(dev_cur);
|
||||||
|
dev_cur = dev_next;
|
||||||
|
}
|
||||||
|
dev_head = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/* Same as sf #2942117 but memoized using a linked list */
|
/* Same as sf #2942117 but memoized using a linked list */
|
||||||
int is_disk(char *dev)
|
int is_disk(char *dev)
|
||||||
{
|
{
|
||||||
char syspath[PATH_MAX];
|
char syspath[PATH_MAX];
|
||||||
char *slash;
|
char *slash;
|
||||||
static DEV_LIST_PTR dev_head = NULL;
|
|
||||||
DEV_LIST_PTR dev_cur, dev_last;
|
DEV_LIST_PTR dev_cur, dev_last;
|
||||||
|
|
||||||
dev_cur = dev_head;
|
dev_cur = dev_head;
|
||||||
|
Loading…
Reference in New Issue
Block a user