From 0c8fdb349ce409d35b2511a884330b303ed0b435 Mon Sep 17 00:00:00 2001 From: Glauber Costa Date: Tue, 8 Apr 2014 14:47:50 +0400 Subject: [PATCH] fix null pointer access with no file pointer I happen to be working on a system that lacks urandom. While the code does try to handle this case and artificially create some bytes if the file pointer is empty, it does try to close it unconditionally, leading to a segfault. --- src/util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/util.c b/src/util.c index 37534dfb..664c82b8 100644 --- a/src/util.c +++ b/src/util.c @@ -402,7 +402,7 @@ void getRandomHexChars(char *p, unsigned int len) { /* Turn it into hex digits taking just 4 bits out of 8 for every byte. */ for (j = 0; j < len; j++) p[j] = charset[p[j] & 0x0F]; - fclose(fp); + if (fp) fclose(fp); } /* Given the filename, return the absolute path as an SDS string, or NULL