diff options
-rw-r--r-- | extension/ChangeLog | 7 | ||||
-rw-r--r-- | extension/inplace.c | 4 | ||||
-rw-r--r-- | extension/readfile.c | 1 |
3 files changed, 11 insertions, 1 deletions
diff --git a/extension/ChangeLog b/extension/ChangeLog index e31c6909..2c736992 100644 --- a/extension/ChangeLog +++ b/extension/ChangeLog @@ -1,3 +1,10 @@ +2013-01-18 Arnold D. Robbins <arnold@skeeve.com> + + * readfile.c (do_readfile): Free `text' if read fails. Thanks to + cppcheck. + * inplace.c (do_inplace_begin): Check chown return value in an if + to shut up compiler warning. + 2013-01-15 Arnold D. Robbins <arnold@skeeve.com> * inplace.3am: New file. diff --git a/extension/inplace.c b/extension/inplace.c index e2183c1f..20682ea5 100644 --- a/extension/inplace.c +++ b/extension/inplace.c @@ -144,7 +144,9 @@ do_inplace_begin(int nargs, awk_value_t *result) /* N.B. chown/chmod should be more portable than fchown/fchmod */ if (chown(state.tname, sbuf.st_uid, sbuf.st_gid) < 0) - chown(state.tname, -1, sbuf.st_gid); + /* checking chown here shuts up the compiler. bleah */ + if (chown(state.tname, -1, sbuf.st_gid) < 0) + ; if (chmod(state.tname, sbuf.st_mode) < 0) fatal(ext_id, _("inplace_begin: chmod failed (%s)"), strerror(errno)); diff --git a/extension/readfile.c b/extension/readfile.c index 7d5f78af..6c24d868 100644 --- a/extension/readfile.c +++ b/extension/readfile.c @@ -104,6 +104,7 @@ do_readfile(int nargs, awk_value_t *result) if ((ret = read(fd, text, sbuf.st_size)) != sbuf.st_size) { (void) close(fd); update_ERRNO_int(errno); + free(text); goto done; } |