From 2e497f7cae45184184e2416114887095735958f5 Mon Sep 17 00:00:00 2001 From: erik Date: Thu, 08 Feb 2007 01:45:16 +0000 Subject: Each file in this commit has a problem where it is possible to dereference a pointer without that pointer being valid. This commit fixes each instance of that. --- (limited to 'core') diff --git a/core/multimedia/opieplayer/modplug/sndfile.cpp b/core/multimedia/opieplayer/modplug/sndfile.cpp index 1d0d610..799555c 100644 --- a/core/multimedia/opieplayer/modplug/sndfile.cpp +++ b/core/multimedia/opieplayer/modplug/sndfile.cpp @@ -1739,7 +1739,10 @@ BOOL CSoundFile::SetPatternName(UINT nPat, LPCSTR lpszName) { char szName[MAX_PATTERNNAME] = ""; // changed from CHAR if (nPat >= MAX_PATTERNS) return FALSE; - if (lpszName) lstrcpyn(szName, lpszName, MAX_PATTERNNAME); + if (lpszName) + lstrcpyn(szName, lpszName, MAX_PATTERNNAME); + else + return FALSE; szName[MAX_PATTERNNAME-1] = 0; if (!m_lpszPatternNames) m_nPatternNames = 0; if (nPat >= m_nPatternNames) diff --git a/core/multimedia/opieplayer/vorbis/tremor/block.c b/core/multimedia/opieplayer/vorbis/tremor/block.c index 8949253..7b5531b 100644 --- a/core/multimedia/opieplayer/vorbis/tremor/block.c +++ b/core/multimedia/opieplayer/vorbis/tremor/block.c @@ -226,8 +226,10 @@ void vorbis_dsp_clear(vorbis_dsp_state *v){ private_state *b=(private_state *)v->backend_state; if(v->pcm){ - for(i=0;ichannels;i++) - if(v->pcm[i])_ogg_free(v->pcm[i]); + if (vi) { + for(i=0;ichannels;i++) + if(v->pcm[i])_ogg_free(v->pcm[i]); + } _ogg_free(v->pcm); if(v->pcmret)_ogg_free(v->pcmret); } diff --git a/core/multimedia/opieplayer/vorbis/tremor/info.c b/core/multimedia/opieplayer/vorbis/tremor/info.c index 941695e..3499ae4 100644 --- a/core/multimedia/opieplayer/vorbis/tremor/info.c +++ b/core/multimedia/opieplayer/vorbis/tremor/info.c @@ -97,8 +97,8 @@ void vorbis_comment_clear(vorbis_comment *vc){ if(vc->user_comments)_ogg_free(vc->user_comments); if(vc->comment_lengths)_ogg_free(vc->comment_lengths); if(vc->vendor)_ogg_free(vc->vendor); + memset(vc,0,sizeof(*vc)); } - memset(vc,0,sizeof(*vc)); } /* blocksize 0 is guaranteed to be short, 1 is guarantted to be long. -- cgit v0.9.0.2