aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Transports
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2019-01-06 16:10:03 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2019-01-06 16:10:03 +0000
commit1b0fef3d25ed94518f4f6b1914a7d7e71aae80c5 (patch)
treec2edf437731b5753f50d19c49ce28609c3d09ed5 /src/plugins/Transports
parente7a02ec7fee6fee4eaa04a31f53120c62caccbda (diff)
downloadqmmp-1b0fef3d25ed94518f4f6b1914a7d7e71aae80c5.tar.gz
qmmp-1b0fef3d25ed94518f4f6b1914a7d7e71aae80c5.tar.bz2
qmmp-1b0fef3d25ed94518f4f6b1914a7d7e71aae80c5.zip
added realloc result checking
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8589 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Transports')
-rw-r--r--src/plugins/Transports/http/httpstreamreader.cpp2
-rw-r--r--src/plugins/Transports/mms/mmsstreamreader.cpp15
2 files changed, 15 insertions, 2 deletions
diff --git a/src/plugins/Transports/http/httpstreamreader.cpp b/src/plugins/Transports/http/httpstreamreader.cpp
index eb54bfeb8..5cba24d0c 100644
--- a/src/plugins/Transports/http/httpstreamreader.cpp
+++ b/src/plugins/Transports/http/httpstreamreader.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006-2018 by Ilya Kotov *
+ * Copyright (C) 2006-2019 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
diff --git a/src/plugins/Transports/mms/mmsstreamreader.cpp b/src/plugins/Transports/mms/mmsstreamreader.cpp
index 1acbbdb4c..620f23e07 100644
--- a/src/plugins/Transports/mms/mmsstreamreader.cpp
+++ b/src/plugins/Transports/mms/mmsstreamreader.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006-2013 by Ilya Kotov *
+ * Copyright (C) 2006-2019 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -165,7 +165,20 @@ void MMSStreamReader::run()
if(m_buffer_at + to_read > m_buffer_size)
{
m_buffer_size = m_buffer_at + to_read;
+ char *tmp = m_buffer;
m_buffer = (char *)realloc(m_buffer, m_buffer_size);
+ if(!m_buffer)
+ {
+ qWarning("MMSStreamReader: unable to allocate %lld bytes", m_buffer_size);
+ if(tmp)
+ free(tmp);
+ m_mutex.unlock();
+ setErrorString(QString("unable to allocate %1 bytes").arg(m_buffer_size));
+ emit error();
+ m_buffer_size = 0;
+ m_buffer_at = 0;
+ break;
+ }
}
m_mutex.unlock();
len = mmsx_read (nullptr, m_handle, prebuf, to_read);