British Petroleum’s profit rises to $5 billion as share buyback slows