Re: [spice-common PATCH 2/2] test-marshallers.proto: ArrayMessage: make space for name

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 
> Do it by adding @end tag.
> Without it 'name' is a non-allocated pointer.
> 
> Signed-off-by: Uri Lublin <uril@xxxxxxxxxx>
> ---
> 
> Is there a better way to do it ?

Is not clear what you are trying to achieve with this patch.

> 
> ---
> 
>  tests/test-marshallers.proto | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tests/test-marshallers.proto b/tests/test-marshallers.proto
> index 34cc892..eabd487 100644
> --- a/tests/test-marshallers.proto
> +++ b/tests/test-marshallers.proto
> @@ -6,7 +6,7 @@ channel TestChannel {
>     } ShortDataSubMarshall;
>  
>     message {
> -      int8 name[];
> +      int8 name[] @end;
>     } ArrayMessage;
>  
>      message {

Wondering where this message is used, I cannot find much references
to it beside autogenerated code.

There's a declaration for the type:

typedef struct {
    int8_t *name;
} SpiceMsgMainArrayMessage;

I tried to use the code to generate the structure definitions and
I got this instead

typedef struct SpiceMsgMainArrayMessage {
    int8_t name[0];
} SpiceMsgMainArrayMessage;

The demarshaller seems to not allocate space for the field which
seems quite a problem (maybe this is detected by Coverity??).

I remember I had a patch with some notes about possible
security concerned mix of attributes, maybe this was one
situation.
There are no occurrences of this mix in spice.proto, either
you have @end or @as_ptr not arrays with unspecified length.

Frediano
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux Virtualization]     [Linux Virtualization]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]