[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 2/4] tools: allow vchan XenStore paths more then 64 bytes long
- To: <dmitry.semenets@xxxxxxxxx>
- From: Anthony PERARD <anthony.perard@xxxxxxxxxx>
- Date: Tue, 27 Sep 2022 16:00:10 +0100
- Authentication-results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
- Cc: <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Oleksandr Andrushchenko <oleksandr_andrushchenko@xxxxxxxx>, Wei Liu <wl@xxxxxxx>, Juergen Gross <jgross@xxxxxxxx>, Dmytro Semenets <dmytro_semenets@xxxxxxxx>
- Delivery-date: Tue, 27 Sep 2022 15:00:34 +0000
- Ironport-data: A9a23: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
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
Hi Dmitry,
On Wed, Jul 13, 2022 at 06:03:09PM +0300, dmitry.semenets@xxxxxxxxx wrote:
> diff --git a/tools/libs/vchan/init.c b/tools/libs/vchan/init.c
> index 9195bd3b98..38658f30af 100644
> --- a/tools/libs/vchan/init.c
> +++ b/tools/libs/vchan/init.c
> @@ -259,6 +259,12 @@ static int init_xs_srv(struct libxenvchan *ctrl, int
> domain, const char* xs_base
> if (!ctrl->xs_path)
> return -1;
>
> + buf = malloc(XENSTORE_ABS_PATH_MAX);
> + if (!buf) {
> + free(ctrl);
> + return 0;
I don't understand what you are trying to achieve here. If we can't
allocate `buf`, we should return an error, right?
Also, `ctrl` isn't allocated in this function but by the caller, so I
don't think we need to free it here. Also, if it's free here, the caller
is going to continue to use the pointer, after free.
> + }
> +
> xs = xs_open(0);
> if (!xs)
> goto fail;
> @@ -419,13 +426,20 @@ struct libxenvchan *libxenvchan_client_init(struct
> xentoollog_logger *logger,
> {
> struct libxenvchan *ctrl = malloc(sizeof(struct libxenvchan));
> struct xs_handle *xs = NULL;
> - char buf[64];
> + char *buf;
> char *ref;
> int ring_ref;
> unsigned int len;
>
> if (!ctrl)
> return 0;
> +
> + buf = malloc(XENSTORE_ABS_PATH_MAX);
> + if (!buf) {
> + free(ctrl);
> + return 0;
Nit: could you write NULL instead of 0 here? It would makes it much
easier to understand that we return a pointer.
Thanks,
--
Anthony PERARD
|