[CRIU] [PATCH 1/4] files: expand slice for parasite_drain_fd dinamically

Cyrill Gorcunov gorcunov at gmail.com
Tue Apr 5 12:52:28 PDT 2016


On Tue, Apr 05, 2016 at 10:29:37PM +0300, Andrey Vagin wrote:
> @@ -206,10 +207,20 @@ static int collect_fds(pid_t pid, struct parasite_drain_fd *dfds)
>  		if (n > PARASITE_MAX_FDS - 1)
>  			return -ENOMEM;
>  
> -		dfds->fds[n++] = atoi(de->d_name);
> +		if (sizeof(struct parasite_drain_fd) + sizeof(int) * (n + 1) > size) {
> +			struct parasite_drain_fd *t;
> +
> +			size += PAGE_SIZE;
> +			t = xrealloc(*dfds, size);
> +			if (!t)
> +				return -1;
> +			*dfds = t;

We've xrealloc_safe for such tricks, just for info for future.
No need for rework.

Acked-by: Cyrill Gorcunov <gorcunov at openvz.org>


More information about the CRIU mailing list