Skip to content
This repository has been archived by the owner on Nov 8, 2022. It is now read-only.

Fixing Array Writing #58

Merged
merged 3 commits into from Oct 7, 2017
Merged

Fixing Array Writing #58

merged 3 commits into from Oct 7, 2017

Conversation

ghost
Copy link

@ghost ghost commented Dec 13, 2016

I found a bug at MessageWriter, when Marshalling Arrays of Arrays. According to D-Bus Specification, an Array is a Container and should not be Marshalled as a Variant (as MessageWritter is doing now).

Byte Arrays of Arrays are being passed inside a object, which makes MessageWriter to treat them as defaulf objects, which made them being wrote as Signature + Array, which made D-Bus daemon not accept it.

I believe this is a side effect of other big problem (maybe with TypeImplementer itself), but I hadn't the proper time to debug it.

This is just a quick-fix to the problem, since I'm treating the symptom rather than the problem itself.

@garuma garuma merged commit 0b83b90 into mono:master Oct 7, 2017
@kralikba
Copy link

kralikba commented May 8, 2018

Hi,

I'm not sure I understand the point of merging this patch to master; as far as I'm concerned this trades a severe issue for an other severe issue, which, incidentally, does not interfere with your use case.

In my case, however, a D-Bus method has to be called that anticipates a dictionary of string, variant where an array is accepted under specific circumstances as a value. As here an array has been written instead of a variant of an array, the connection has been dropped.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants