From 204995b31f63361770e7bbf95eec275b7c10edfb Mon Sep 17 00:00:00 2001 From: Angel Ortega Date: Thu, 11 Nov 2010 15:25:16 +0100 Subject: [PATCH] Ref/unref all args in many file functions. --- mpdm_f.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/mpdm_f.c b/mpdm_f.c index ff20e7f..e347c54 100644 --- a/mpdm_f.c +++ b/mpdm_f.c @@ -1423,6 +1423,8 @@ int mpdm_unlink(const mpdm_t filename) int ret; mpdm_t fn; + mpdm_ref(filename); + /* convert to mbs */ fn = mpdm_ref(MPDM_2MBS(filename->data)); @@ -1430,6 +1432,7 @@ int mpdm_unlink(const mpdm_t filename) store_syserr(); mpdm_unref(fn); + mpdm_unref(filename); return ret; } @@ -1456,6 +1459,8 @@ mpdm_t mpdm_stat(const mpdm_t filename) { mpdm_t r = NULL; + mpdm_ref(filename); + #ifdef CONFOPT_SYS_STAT_H struct stat s; mpdm_t fn; @@ -1517,6 +1522,8 @@ mpdm_t mpdm_stat(const mpdm_t filename) #endif /* CONFOPT_SYS_STAT_H */ + mpdm_unref(filename); + return r; } @@ -1533,12 +1540,17 @@ int mpdm_chmod(const mpdm_t filename, mpdm_t perms) { int r = -1; + mpdm_ref(filename); + mpdm_ref(perms); + mpdm_t fn = mpdm_ref(MPDM_2MBS(filename->data)); if ((r = chmod((char *) fn->data, mpdm_ival(perms))) == -1) store_syserr(); mpdm_unref(fn); + mpdm_unref(perms); + mpdm_unref(filename); return r; } @@ -1555,12 +1567,14 @@ int mpdm_chdir(const mpdm_t dir) { int r = -1; + mpdm_ref(dir); mpdm_t fn = mpdm_ref(MPDM_2MBS(dir->data)); if ((r = chdir((char *) fn->data)) == -1) store_syserr(); mpdm_unref(fn); + mpdm_unref(dir); return r; } @@ -1579,6 +1593,10 @@ int mpdm_chown(const mpdm_t filename, mpdm_t uid, mpdm_t gid) { int r = -1; + mpdm_ref(filename); + mpdm_ref(uid); + mpdm_ref(gid); + #ifdef CONFOPT_CHOWN mpdm_t fn = mpdm_ref(MPDM_2MBS(filename->data)); @@ -1590,6 +1608,10 @@ int mpdm_chown(const mpdm_t filename, mpdm_t uid, mpdm_t gid) #endif /* CONFOPT_CHOWN */ + mpdm_unref(gid); + mpdm_unref(uid); + mpdm_unref(filename); + return r; } -- 2.11.4.GIT