Author: jamie
Date: Thu Jul 15 19:21:33 2010
New Revision: 210134
URL: http://svn.freebsd.org/changeset/base/210134

Log:
  Don't copy and return a potentially unset buffer when jail_get fails.

Modified:
  head/lib/libjail/jail_getid.c

Modified: head/lib/libjail/jail_getid.c
==============================================================================
--- head/lib/libjail/jail_getid.c       Thu Jul 15 19:21:07 2010        
(r210133)
+++ head/lib/libjail/jail_getid.c       Thu Jul 15 19:21:33 2010        
(r210134)
@@ -94,11 +94,15 @@ jail_getname(int jid)
        jiov[5].iov_len = JAIL_ERRMSGLEN;
        jail_errmsg[0] = 0;
        jid = jail_get(jiov, 6, 0);
-       if (jid < 0 && !jail_errmsg[0])
-               snprintf(jail_errmsg, JAIL_ERRMSGLEN, "jail_get: %s",
-                   strerror(errno));
-       name = strdup(namebuf);
-       if (name == NULL)
-               strerror_r(errno, jail_errmsg, JAIL_ERRMSGLEN);
+       if (jid < 0) {
+               if (!jail_errmsg[0])
+                       snprintf(jail_errmsg, JAIL_ERRMSGLEN, "jail_get: %s",
+                           strerror(errno));
+               return NULL;
+       } else {
+               name = strdup(namebuf);
+               if (name == NULL)
+                       strerror_r(errno, jail_errmsg, JAIL_ERRMSGLEN);
+       }
        return name;
 }
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to