All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] qstring: Fix integer overflow
@ 2018-07-20 13:09 liujunjie
  2018-07-23 12:47 ` Markus Armbruster
  2018-07-23 14:52 ` Eric Blake
  0 siblings, 2 replies; 12+ messages in thread
From: liujunjie @ 2018-07-20 13:09 UTC (permalink / raw)
  To: armbru; +Cc: arei.gonglei, wangxinxin.wang, weidong.huang, qemu-devel,
	l00425170

From: l00425170 <liujunjie23@huawei.com>

The incoming parameters "start" and "end" is int type in
qstring_from_substr(), but this function can be called by
qstring_from_str, which is size_t type in strlen(str).
It may result in coredump when called g_malloc later.
One scene to triger is to call hmp "into tlb", which may have
too long length of string.

Signed-off-by: l00425170 <liujunjie23@huawei.com>
---
 include/qapi/qmp/qstring.h | 2 +-
 qobject/qstring.c          | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/qapi/qmp/qstring.h b/include/qapi/qmp/qstring.h
index b3b3d44..3e83e3a 100644
--- a/include/qapi/qmp/qstring.h
+++ b/include/qapi/qmp/qstring.h
@@ -24,7 +24,7 @@ struct QString {
 
 QString *qstring_new(void);
 QString *qstring_from_str(const char *str);
-QString *qstring_from_substr(const char *str, int start, int end);
+QString *qstring_from_substr(const char *str, size_t start, size_t end);
 size_t qstring_get_length(const QString *qstring);
 const char *qstring_get_str(const QString *qstring);
 const char *qstring_get_try_str(const QString *qstring);
diff --git a/qobject/qstring.c b/qobject/qstring.c
index afca54b..18b8eb8 100644
--- a/qobject/qstring.c
+++ b/qobject/qstring.c
@@ -37,7 +37,7 @@ size_t qstring_get_length(const QString *qstring)
  *
  * Return string reference
  */
-QString *qstring_from_substr(const char *str, int start, int end)
+QString *qstring_from_substr(const char *str, size_t start, size_t end)
 {
     QString *qstring;
 
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2018-07-24 13:25 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-20 13:09 [Qemu-devel] [PATCH] qstring: Fix integer overflow liujunjie
2018-07-23 12:47 ` Markus Armbruster
2018-07-23 14:36   ` liujunjie (A)
2018-07-23 15:46     ` Markus Armbruster
2018-07-24  1:08       ` liujunjie (A)
2018-07-24  6:22         ` Markus Armbruster
2018-07-24  8:46           ` Markus Armbruster
2018-07-24  9:18             ` liujunjie (A)
2018-07-24 12:07               ` Markus Armbruster
2018-07-24 13:24                 ` liujunjie (A)
2018-07-23 14:52 ` Eric Blake
2018-07-24  2:27   ` liujunjie (A)

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.