I suspect symbol_count might be 0 in parse_symbol_table(), in which case binary->global_symbol_offsets would probably end up as NULL. Not sure that should ever happen though. Michael, which version of libelf are you using?