[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Libvir] PATCH: BZ 426425: Fix truncated reading of config files



Jim Meyering wrote:
"Daniel P. Berrange" <berrange redhat com> wrote:

On Fri, Jan 04, 2008 at 09:55:47AM +0000, Richard W.M. Jones wrote:
Daniel P. Berrange wrote:
The virConfReadFile  API  has a fixed 4096 byte buffer it reads the config
file into, regardless of the config file size and silently drops any data
exceeding this.
Ah, the joys of C ...

+    if ((ret = fread(*buf, st.st_size, 1, fh)) != 1) {
+        free(buf);
+        buf = NULL;
I wonder if you meant to write *buf = NULL here?
Yes, indeed. I'll make that change before committing.

You'll want this one, too:

diff --git a/src/util.c b/src/util.c
index 0fa3611..01fc6e9 100644
--- a/src/util.c
+++ b/src/util.c
@@ -308,7 +308,7 @@ int virFileReadAll(const char *path,
     }

     if ((ret = fread(*buf, st.st_size, 1, fh)) != 1) {
-        free(buf);
+        free(*buf);
         *buf = NULL;
         virLog("Failed to read config file '%s': %s",
                path, strerror(errno));

Agreed.  Dan?

Rich.

--
Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod
Street, Windsor, Berkshire, SL4 1TE, United Kingdom.  Registered in
England and Wales under Company Registration No. 03798903

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]