On Tue, 9 Jan 2018, Frank Rowand wrote: > On 01/08/18 05:36, Julia Lawall wrote: > > Check for NULL position and file name. Check for xasprintf failure. > > Builds on a patch proposed by Frank Rowand: > > > > https://www.mail-archive.com/devicetree-compiler@xxxxxxxxxxxxxxx/msg00377.html > > > > Annotation extension will introduce the possibility of the position > > being NULL. > > > > Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> > > --- > > srcpos.c | 35 +++++++++++++++++++++++------------ > > 1 file changed, 23 insertions(+), 12 deletions(-) > > > > diff --git a/srcpos.c b/srcpos.c > > index 9d38459..7f2626c 100644 > > --- a/srcpos.c > > +++ b/srcpos.c > > @@ -249,24 +249,35 @@ srcpos_copy(struct srcpos *pos) > > char * > > srcpos_string(struct srcpos *pos) > > { > > - const char *fname = "<no-file>"; > > + const char *fname; > > char *pos_str; > > - > > - if (pos->file && pos->file->name) > > + int rc; > > + > > + if (!pos) { > > + rc = asprintf(&pos_str, "%s:<no-line>", fname); > > + goto out; > > + } else if (!pos->file) > ^^^^^^^^ > spaces instead of a tab Thanks. This code is different now. julia > > -Frank > > > + fname = "<no-file>"; > > + else if (!pos->file->name) > > + fname = "<no-filename>"; > > + else > > fname = pos->file->name; > > > > - > > if (pos->first_line != pos->last_line) > > - xasprintf(&pos_str, "%s:%d.%d-%d.%d", fname, > > - pos->first_line, pos->first_column, > > - pos->last_line, pos->last_column); > > + rc = xasprintf(&pos_str, "%s:%d.%d-%d.%d", fname, > > + pos->first_line, pos->first_column, > > + pos->last_line, pos->last_column); > > else if (pos->first_column != pos->last_column) > > - xasprintf(&pos_str, "%s:%d.%d-%d", fname, > > - pos->first_line, pos->first_column, > > - pos->last_column); > > + rc = xasprintf(&pos_str, "%s:%d.%d-%d", fname, > > + pos->first_line, pos->first_column, > > + pos->last_column); > > else > > - xasprintf(&pos_str, "%s:%d.%d", fname, > > - pos->first_line, pos->first_column); > > + rc = xasprintf(&pos_str, "%s:%d.%d", fname, > > + pos->first_line, pos->first_column); > > + > > +out: > > + if (rc == -1) > > + die("Couldn't allocate in srcpos string"); > > > > return pos_str; > > } > > > > -- To unsubscribe from this list: send the line "unsubscribe devicetree-compiler" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html