On 05/11/2013 04:14 AM, Igor M Podlesny wrote: > On 30 April 2013 13:16, Glauber Costa <glom...@openvz.org> wrote: >> @@ -576,7 +765,9 @@ int ct_do_open(vps_handler *h, vps_param *param) >> { >> int ret; >> char path[STR_SIZE]; >> + char upath[STR_SIZE]; >> struct stat st; >> + unsigned long *local_uid = param->res.misc.local_uid; >> >> ret = container_init(); >> if (ret) { >> @@ -592,6 +783,9 @@ int ct_do_open(vps_handler *h, vps_param *param) >> if (snprintf(path, sizeof(path), "/proc/%d/ns/pid", getpid()) < 0) >> return VZ_RESOURCE_ERROR; >> >> + if (snprintf(upath, sizeof(upath), "/proc/%d/ns/user", getpid()) < 0) >> + return VZ_RESOURCE_ERROR; >> + > > It might have sense to compare return code not with 0, but > sizeof(upath), since "... The functions snprintf() and vsnprintf() do > not write more than size bytes (including the terminating null byte > ('\0')). If the output was truncated due to this limit then the return > value is the number of characters (excluding the terminating null > byte) which would have been written to the final string if enough > space had been available. Thus, a return value of size or more means > that the output was truncated. ..." >
Doesn't matter that much, because this situation is impossible, given that getpid() will always return a bounded value and we know the rest of the string. So it either fails, or it succeeds in its fullest. But that is all the same to me. _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel