From 4fb35067923894abfa32a2bca8f60b2975a685ac Mon Sep 17 00:00:00 2001 From: levlam Date: Sat, 30 Jun 2018 02:51:13 +0300 Subject: [PATCH] Safe conversion to user_id in get_link_user_id. GitOrigin-RevId: 3f0f81deef264b4b0a193cc18ef5bb344490751d --- td/telegram/MessageEntity.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/td/telegram/MessageEntity.cpp b/td/telegram/MessageEntity.cpp index 01f7d0e4..0e33bbf9 100644 --- a/td/telegram/MessageEntity.cpp +++ b/td/telegram/MessageEntity.cpp @@ -1205,7 +1205,7 @@ string get_first_url(Slice text, const vector &entities) { } static UserId get_link_user_id(Slice url) { - auto lower_cased_url = to_lower(url); + string lower_cased_url = to_lower(url); url = lower_cased_url; Slice link_scheme("tg:"); @@ -1236,7 +1236,11 @@ static UserId get_link_user_id(Slice url) { Slice value; std::tie(key, value) = split(parameter, '='); if (key == Slice("id")) { - return UserId(to_integer(value)); + auto r_user_id = to_integer_safe(value); + if (r_user_id.is_error()) { + return UserId(); + } + return UserId(r_user_id.ok()); } } return UserId();