Author: pluknet
Date: Thu Jul 23 23:18:03 2015
New Revision: 285829
URL: https://svnweb.freebsd.org/changeset/base/285829

Log:
  Call ksem_get() with initialized 'rights'.
  
  ksem_get() consumes fget(), and it's mandatory there.
  
  Reported by:  truckman
  Reviewed by:  mjg

Modified:
  head/sys/kern/uipc_sem.c

Modified: head/sys/kern/uipc_sem.c
==============================================================================
--- head/sys/kern/uipc_sem.c    Thu Jul 23 20:59:48 2015        (r285828)
+++ head/sys/kern/uipc_sem.c    Thu Jul 23 23:18:03 2015        (r285829)
@@ -651,12 +651,13 @@ struct ksem_close_args {
 int
 sys_ksem_close(struct thread *td, struct ksem_close_args *uap)
 {
+       cap_rights_t rights;
        struct ksem *ks;
        struct file *fp;
        int error;
 
        /* No capability rights required to close a semaphore. */
-       error = ksem_get(td, uap->id, 0, &fp);
+       error = ksem_get(td, uap->id, cap_rights_init(&rights), &fp);
        if (error)
                return (error);
        ks = fp->f_data;
@@ -872,12 +873,13 @@ struct ksem_destroy_args {
 int
 sys_ksem_destroy(struct thread *td, struct ksem_destroy_args *uap)
 {
+       cap_rights_t rights;
        struct file *fp;
        struct ksem *ks;
        int error;
 
        /* No capability rights required to close a semaphore. */
-       error = ksem_get(td, uap->id, 0, &fp);
+       error = ksem_get(td, uap->id, cap_rights_init(&rights), &fp);
        if (error)
                return (error);
        ks = fp->f_data;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to