diff --git a/gas/ChangeLog b/gas/ChangeLog index ba4aa15c03..dbb8a379c0 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2018-12-04 wu.heng + + PR 23939 + * dw2gencfi.c (dot_cfi_label): Check frch_cfi_data is non-NULL + before use. + 2018-12-03 Kito Cheng * config/tc-riscv.c: Include elfxx-riscv.h. diff --git a/gas/dw2gencfi.c b/gas/dw2gencfi.c index 3b61070802..4add173563 100644 --- a/gas/dw2gencfi.c +++ b/gas/dw2gencfi.c @@ -1198,8 +1198,16 @@ dot_cfi_val_encoded_addr (int ignored ATTRIBUTE_UNUSED) static void dot_cfi_label (int ignored ATTRIBUTE_UNUSED) { - char *name = read_symbol_name (); + char *name; + if (frchain_now->frch_cfi_data == NULL) + { + as_bad (_("CFI instruction used without previous .cfi_startproc")); + ignore_rest_of_line (); + return; + } + + name = read_symbol_name (); if (name == NULL) return;