[cfe-dev] Disabling label-unioning in dataflow sanitizer?

Peter Collingbourne peter at pcc.me.uk
Tue Feb 3 11:01:41 PST 2015


Hi Christian,

Can't you treat all union labels as being unlabelled? You can see what
kind of label you have using the dfsan_get_label_info() function.

Peter

On Tue, Feb 03, 2015 at 12:11:18PM -0500, Christian Convey wrote:
> Sorry, that example wasn't correct.  I should have written:
> 
> int c = a + b; // c will never have a label in this case.
> int d = a; // d will always get a's label
> 
> On Tue, Feb 3, 2015 at 12:09 PM, Christian Convey <
> christian.convey at gmail.com> wrote:
> 
> > Hi guys,
> >
> > Does anyone know if clang's dataflow sanitizer supports the following
> > option, or if there are plans to?
> >
> > Right now (clang 3.6), it seems that when two or more inputs of a given
> > operation carry different labels, the resulting value is tagged with the
> > *union* of those labels.  But I'm interested in a different kind of
> > analysis, where I track the pristine flow of a value.  So in my analysis,
> > when an operation does anything other than cleanly propagate an input value
> > to its output, I want the output to be unlabeled.
> >
> > For example, if we have:
> >    int c = a + b;
> > Then I want 'c' to be have a dfas label if and only if 'a' and 'b' both
> > have the same label.
> >
> > Thanks,
> > Christian
> >

> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev


-- 
Peter



More information about the cfe-dev mailing list