diff options
Diffstat (limited to 'sand-leek.c')
| -rw-r--r-- | sand-leek.c | 6 | 
1 files changed, 5 insertions, 1 deletions
| diff --git a/sand-leek.c b/sand-leek.c index 7f94126..f4bf1ae 100644 --- a/sand-leek.c +++ b/sand-leek.c @@ -246,7 +246,7 @@ main(int argc, char **argv) {  	int i = 0;  	ssize_t offset = 0;  	pthread_t *workers = NULL; -	unsigned long volatile *khashes = NULL; +	volatile unsigned long *khashes = NULL;  	while ((opt = getopt(argc, argv, "t:s:V")) != -1) {  		switch (opt) { @@ -309,6 +309,8 @@ main(int argc, char **argv) {  	for (i = 0; i < thread_count; i++) {  		if (pthread_create(&workers[i], NULL, work, (void*)&khashes[i])) {  			perror("pthread_create"); +			free((unsigned long*)khashes); +			free(workers);  			return 1;  		}  	} @@ -319,6 +321,8 @@ main(int argc, char **argv) {  		pthread_join(workers[i], NULL);  	} +	free((unsigned long*)khashes); +	free(workers);  	return 0;  } | 
