Return length of the label on success in smack_new_label_from*
authorJarkko Sakkinen <jarkko.sakkinen@intel.com>
Mon, 3 Jun 2013 08:31:02 +0000 (11:31 +0300)
committerJarkko Sakkinen <jarkko.sakkinen@intel.com>
Mon, 3 Jun 2013 08:33:14 +0000 (11:33 +0300)
Return length of the label on success and negative value on
failure.

Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@intel.com>
libsmack/libsmack.c
libsmack/sys/smack.h

index 30a1ebf..a33887b 100644 (file)
@@ -489,7 +489,7 @@ const char *smack_smackfs_path(void)
        return smack_mnt;
 }
 
-int smack_new_label_from_self(char **label)
+ssize_t smack_new_label_from_self(char **label)
 {
        char *result;
        int fd;
@@ -513,10 +513,10 @@ int smack_new_label_from_self(char **label)
        }
 
        *label = result;
-       return 0;
+       return ret;
 }
 
-int smack_new_label_from_socket(int fd, char **label)
+ssize_t smack_new_label_from_socket(int fd, char **label)
 {
        char dummy;
        int ret;
@@ -538,11 +538,11 @@ int smack_new_label_from_socket(int fd, char **label)
        }
 
        *label = result;
-       return 0;
+       return length;
 }
 
-int smack_new_label_from_path(const char *path, const char *xattr, int follow,
-                             const char **label)
+ssize_t smack_new_label_from_path(const char *path, const char *xattr, 
+                                 int follow, const char **label)
 {
        char *result;
        ssize_t ret = 0;
@@ -569,7 +569,6 @@ int smack_new_label_from_path(const char *path, const char *xattr, int follow,
        return 0;
 }
 
-
 int smack_set_label_for_self(const char *label)
 {
        int len;
index c736a53..cf045d7 100644 (file)
@@ -184,9 +184,10 @@ const char *smack_smackfs_path(void);
   * Caller is responsible of freeing the returned label.
   *
   * @param label returned label
-  * @return 0 on success and negative value on failure.
+  * @return Returns lenght of the label  on success and negative value
+  * on failure.
   */
-int smack_new_label_from_self(char **label);
+ssize_t smack_new_label_from_self(char **label);
 
 /*!
   * Get the label that is associated with a peer on the other end of an
@@ -195,9 +196,10 @@ int smack_new_label_from_self(char **label);
   *
   * @param fd socket file descriptor
   * @param label returned label
-  * @return 0 on success and negative value on failure.
+  * @return Returns lenght of the label  on success and negative value
+  * on failure.
   */
-int smack_new_label_from_socket(int fd, char **label);
+ssize_t smack_new_label_from_socket(int fd, char **label);
 
 /*!
   * Get the SMACK label that is contained in an extended attribute.
@@ -207,12 +209,13 @@ int smack_new_label_from_socket(int fd, char **label);
   * @param xattr extended attribute containing the SMACK label
   * @param follow whether or not to follow symbolic link
   * @param label returned label
-  * @return 0 on success and negative value on failure.
+  * @return Returns lenght of the label  on success and negative value
+  * on failure.
   */
-int smack_new_label_from_path(const char *path,
-                             const char *xattr,
-                             int follow,
-                             const char **label);
+ssize_t smack_new_label_from_path(const char *path,
+                                 const char *xattr,
+                                 int follow,
+                                 const char **label);
 
 /*!
  * Set the label associated with the callers process.