[Spice-devel] [spice-common PATCH 2/2] test-marshallers.proto: ArrayMessage: make space for name
Frediano Ziglio
fziglio at redhat.com
Sun Aug 11 10:02:25 UTC 2019
>
> Do it by adding @end tag.
> Without it 'name' is a non-allocated pointer.
>
> Signed-off-by: Uri Lublin <uril at redhat.com>
> ---
>
> 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
More information about the Spice-devel
mailing list