diff options
author | marha <marha@users.sourceforge.net> | 2011-02-03 11:20:18 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2011-02-03 11:20:18 +0000 |
commit | 46fbac6f1b19416ee1dbca883f0d09d9fd75d1eb (patch) | |
tree | 2ddc90cb6bc4f04db80d66a334ecaabf139c0176 /libX11/src/Xrm.c | |
parent | 97f3d3043a79d6031787c246a67d2a02ff0a8d08 (diff) | |
parent | 83a4fe0dc71aafbef11477b284abe530d3877556 (diff) | |
download | vcxsrv-46fbac6f1b19416ee1dbca883f0d09d9fd75d1eb.tar.gz vcxsrv-46fbac6f1b19416ee1dbca883f0d09d9fd75d1eb.tar.bz2 vcxsrv-46fbac6f1b19416ee1dbca883f0d09d9fd75d1eb.zip |
svn merge ^/branches/released .
Diffstat (limited to 'libX11/src/Xrm.c')
-rw-r--r-- | libX11/src/Xrm.c | 10 |
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; |