Index: trunk/src/gfx/image.cc
===================================================================
--- trunk/src/gfx/image.cc	(revision 486)
+++ trunk/src/gfx/image.cc	(revision 487)
@@ -26,6 +26,7 @@
 	: m_size( size ), m_depth( depth ), m_data( nullptr )
 {
+	NV_ASSERT( size.x >= 0 && size.y >= 0, "bad parameters passed to image!" );
 	sint32 bsize = m_size.x * m_size.y * static_cast<sint32>( m_depth );
-	m_data = new uint8[ bsize ];
+	m_data = new uint8[ size_t( bsize ) ];
 
 	if ( reversed )
Index: trunk/src/gfx/mesh_creator.cc
===================================================================
--- trunk/src/gfx/mesh_creator.cc	(revision 486)
+++ trunk/src/gfx/mesh_creator.cc	(revision 487)
@@ -265,6 +265,7 @@
 	delete[] tangents2;
 
-	uint32 n_channel_index = m_data->get_channel_index( slot::NORMAL );
-	data_channel_set_creator( m_data ).set_channel( n_channel_index, merge_channels( *m_nrm_channel, g_channel ) );
+	int n_channel_index = m_data->get_channel_index( slot::NORMAL );
+	NV_ASSERT( n_channel_index >= 0, "Normal channel not found!" );
+	data_channel_set_creator( m_data ).set_channel( uint32( n_channel_index ), merge_channels( *m_nrm_channel, g_channel ) );
 	initialize();
 }
Index: trunk/src/gfx/texture_font.cc
===================================================================
--- trunk/src/gfx/texture_font.cc	(revision 486)
+++ trunk/src/gfx/texture_font.cc	(revision 487)
@@ -80,5 +80,5 @@
 static uint8* convert_to_rgba(uint8* rgb, const int lines, const int line_count, const int line_bpitch )
 {
-	uint8* result = new uint8[ lines * line_count * 4 ];
+	uint8* result = new uint8[ static_cast< uint32 >( lines * line_count * 4 ) ];
 	uint8* rgba   = result;
 	for(int l=0; l<lines; ++l) 
