From 96b5dc0b98cf849e4bba3c9d11f1d978a37dae92 Mon Sep 17 00:00:00 2001 From: Glauber Costa Date: Tue, 8 Apr 2014 14:47:50 +0400 Subject: 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 37534dfb9..664c82b80 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 -- cgit v1.2.1