From 83a4fe0dc71aafbef11477b284abe530d3877556 Mon Sep 17 00:00:00 2001 From: marha Date: Thu, 3 Feb 2011 09:44:39 +0000 Subject: libXext xserver libXau libX11 pixman mesa git update 3 Feb 2011 --- libX11/src/Xrm.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'libX11/src/Xrm.c') diff --git a/libX11/src/Xrm.c b/libX11/src/Xrm.c index 21f0af3c0..fbc8ad293 100644 --- a/libX11/src/Xrm.c +++ b/libX11/src/Xrm.c @@ -842,8 +842,10 @@ static void PutEntry( nprev = NodeBuckets(table); \ } else { \ table->leaf = 1; \ - if (!(nprev = (NTable *)Xmalloc(sizeof(VEntry *)))) \ + if (!(nprev = (NTable *)Xmalloc(sizeof(VEntry *)))) {\ + Xfree(table); \ return; \ + } \ ((LTable)table)->buckets = (VEntry *)nprev; \ } \ *nprev = (NTable)NULL; \ @@ -1594,6 +1596,12 @@ ReadInFile(_Xconst char *filename) */ GetSizeOfFile(fd, size); + /* There might have been a problem trying to stat a file */ + if (size == -1) { + close (fd); + return (char *)NULL; + } + if (!(filebuf = Xmalloc(size + 1))) { /* leave room for '\0' */ close(fd); return (char *)NULL; -- cgit v1.2.3