aboutsummaryrefslogtreecommitdiff
path: root/libX11/src/Xrm.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2011-02-03 09:44:39 +0000
committermarha <marha@users.sourceforge.net>2011-02-03 09:44:39 +0000
commit83a4fe0dc71aafbef11477b284abe530d3877556 (patch)
tree527158f28d9a46d1e9cc83b6c5fa6e8fbed956eb /libX11/src/Xrm.c
parent60107fb2d201703dba061622101dafc139559bca (diff)
downloadvcxsrv-83a4fe0dc71aafbef11477b284abe530d3877556.tar.gz
vcxsrv-83a4fe0dc71aafbef11477b284abe530d3877556.tar.bz2
vcxsrv-83a4fe0dc71aafbef11477b284abe530d3877556.zip
libXext xserver libXau libX11 pixman mesa git update 3 Feb 2011
Diffstat (limited to 'libX11/src/Xrm.c')
-rw-r--r--libX11/src/Xrm.c10
1 files changed, 9 insertions, 1 deletions
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;