On Wed, Sep 30, 2015 at 08:32:44PM -0700, Frank Rowand wrote: > From: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> > > Check for NULL pos before dereferencing it in srcpos_string(). > > Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> > --- > srcpos.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > Index: b/srcpos.c > =================================================================== > --- a/srcpos.c > +++ b/srcpos.c > @@ -272,7 +272,9 @@ srcpos_string(struct srcpos *pos) > fname = pos->file->name; Hmm.. looking at the existing code, it looks like the if (pos) above should probably be if (pos->file) It would be nice to fix that at the same time.. > > - if (pos->first_line != pos->last_line) > + if (!pos) > + rc = asprintf(&pos_str, "%s:0", fname); Because this really should go very first, before even setting fname. "<no-file>:0" seems an odd way to display this, rather than just "<no-location>", for example. > + else if (pos->first_line != pos->last_line) > rc = asprintf(&pos_str, "%s:%d.%d-%d.%d", fname, > pos->first_line, pos->first_column, > pos->last_line, pos->last_column); -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
Attachment:
pgp3uNw37NEo8.pgp
Description: PGP signature