Re: [PATCH] Check for a return value in netfs_make_peropen before using it in netfs_make_protid.

2016-02-07 Thread Flavio Cruz
* libnetfs/trans-callback.c: Add check for netfs_make_peropen.
---
 libnetfs/trans-callback.c | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/libnetfs/trans-callback.c b/libnetfs/trans-callback.c
index f4f0c62..9ebe11c 100644
--- a/libnetfs/trans-callback.c
+++ b/libnetfs/trans-callback.c
@@ -58,14 +58,18 @@ _netfs_translator_callback2_fn (void *cookie1, void 
*cookie2, int flags,
   struct protid *cred;
   struct node *node = cookie1;
   struct iouser *user;
+  struct peropen *po;
 
   err = iohelp_create_simple_iouser (, node->nn_stat.st_uid,
   node->nn_stat.st_gid);
   if (err)
 return err;
 
-  cred = netfs_make_protid (netfs_make_peropen (node, flags, cookie2),
-   user);
+  po = netfs_make_peropen (node, flags, cookie2);
+  if (! po)
+return errno;
+
+  cred = netfs_make_protid (po, user);
   if (cred)
 {
   *underlying = ports_get_right (cred);



Re: [PATCH] Check for a return value in netfs_make_peropen before using it in netfs_make_protid.

2016-02-07 Thread Samuel Thibault
Flavio Cruz, on Sun 07 Feb 2016 09:19:38 -0500, wrote:
> +  po = netfs_make_peropen (node, flags, cookie2);
> +  if (! po)
> +return ENOMEM;

I'd say rather return errno.

Samuel



[PATCH] Check for a return value in netfs_make_peropen before using it in netfs_make_protid.

2016-02-07 Thread Flavio Cruz
* libnetfs/trans-callback.c: Add check.
---
 libnetfs/trans-callback.c | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/libnetfs/trans-callback.c b/libnetfs/trans-callback.c
index f4f0c62..9ebe11c 100644
--- a/libnetfs/trans-callback.c
+++ b/libnetfs/trans-callback.c
@@ -58,14 +58,18 @@ _netfs_translator_callback2_fn (void *cookie1, void 
*cookie2, int flags,
   struct protid *cred;
   struct node *node = cookie1;
   struct iouser *user;
+  struct peropen *po;
 
   err = iohelp_create_simple_iouser (, node->nn_stat.st_uid,
   node->nn_stat.st_gid);
   if (err)
 return err;
 
-  cred = netfs_make_protid (netfs_make_peropen (node, flags, cookie2),
-   user);
+  po = netfs_make_peropen (node, flags, cookie2);
+  if (! po)
+return ENOMEM;
+
+  cred = netfs_make_protid (po, user);
   if (cred)
 {
   *underlying = ports_get_right (cred);
-- 
2.6.4




Re: [PATCH] Check for a return value in netfs_make_peropen before using it in netfs_make_protid.

2016-02-07 Thread Samuel Thibault
Flavio Cruz, on Sun 07 Feb 2016 09:51:24 -0500, wrote:
> * libnetfs/trans-callback.c: Add check for netfs_make_peropen.

pushed, thanks!



Re: [PATCH] Check for a return value in netfs_make_peropen before using it in netfs_make_protid.

2016-02-07 Thread James Clarke
On 7 Feb 2016, at 14:51, Flavio Cruz  wrote:
> -  cred = netfs_make_protid (netfs_make_peropen (node, flags, cookie2),
> - user);
> +  po = netfs_make_peropen (node, flags, cookie2);
> +  if (! po)
> +return errno;

You need to free user.

James



signature.asc
Description: Message signed with OpenPGP using GPGMail