diff --git a/system/drivers/DB_mysql.php b/system/drivers/DB_mysql.php
index 82e677a..a90d842 100644
--- a/system/drivers/DB_mysql.php
+++ b/system/drivers/DB_mysql.php
@@ -126,10 +126,6 @@
 	 */
 	function escape_str($str)	
 	{	
-		if (get_magic_quotes_gpc())
-		{
-			$str = stripslashes($str); 
-		}
 		return mysql_real_escape_string($str);
 	}
 	
diff --git a/system/drivers/DB_mysqli.php b/system/drivers/DB_mysqli.php
index 32c4c0f..75c01e7 100644
--- a/system/drivers/DB_mysqli.php
+++ b/system/drivers/DB_mysqli.php
@@ -128,10 +128,6 @@
 	 */
 	function escape_str($str)	
 	{	
-		if (get_magic_quotes_gpc())
-		{
-			$str = stripslashes($str); 
-		}
 		return mysqli_real_escape_string($this->conn_id, $str);
 	}
 	
diff --git a/system/drivers/DB_postgre.php b/system/drivers/DB_postgre.php
index 3829b04..cf59f0f 100644
--- a/system/drivers/DB_postgre.php
+++ b/system/drivers/DB_postgre.php
@@ -110,10 +110,6 @@
 	 */
 	function escape_str($str)	
 	{	
-		if (get_magic_quotes_gpc())
-		{
-			$str = stripslashes($str); 
-		}
 		return pg_escape_string($str);
 	}
 	
diff --git a/system/drivers/DB_sqlite.php b/system/drivers/DB_sqlite.php
index 1192e6d..b2c31a8 100644
--- a/system/drivers/DB_sqlite.php
+++ b/system/drivers/DB_sqlite.php
@@ -131,10 +131,6 @@
 	 */
 	function escape_str($str)	
 	{
-		if (get_magic_quotes_gpc())
-		{
-			$str = stripslashes($str); 
-		}
 		return sqlite_escape_string($str);
 	}
 	
diff --git a/system/helpers/form_helper.php b/system/helpers/form_helper.php
index d4e45a0..0691010 100644
--- a/system/helpers/form_helper.php
+++ b/system/helpers/form_helper.php
@@ -38,11 +38,16 @@
  * @param	array	a key/value pair hidden data
  * @return	string
  */	
-function form_open($action, $attributes = array(), $hidden = array())
+function form_open($action = '', $attributes = array(), $hidden = array())
 {
 	$obj =& get_instance();
 
-	$form = '<form method="post" action="'.$obj->config->site_url($action).'"';
+	$form = '<form action="'.$obj->config->site_url($action).'"';
+	
+	if ( ! isset($attributes['method']))
+	{
+		$form .= ' method="post"';
+	}
 	
 	if (is_array($attributes) AND count($attributes) > 0)
 	{
diff --git a/system/libraries/Encrypt.php b/system/libraries/Encrypt.php
index 532bfe1..bcffdf1 100644
--- a/system/libraries/Encrypt.php
+++ b/system/libraries/Encrypt.php
@@ -322,7 +322,7 @@
 	 */		
 	function set_hash($type = 'sha1')
 	{
-		$this->_hash_type = ($type != 'sha1' OR $type != 'md5') ? 'sha1' : $type;
+		$this->_hash_type = ($type != 'sha1' AND $type != 'md5') ? 'sha1' : $type;
 	}
   	// END set_hash()
   	
diff --git a/system/libraries/Language.php b/system/libraries/Language.php
index b668aa0..328d53e 100644
--- a/system/libraries/Language.php
+++ b/system/libraries/Language.php
@@ -68,7 +68,7 @@
 	
 		if ( ! file_exists(BASEPATH.'language/'.$idiom.'/'.$langfile))
 		{
-			show_error('Unable to load the requested language file: language/'.$langfile.EXT);
+			show_error('Unable to load the requested language file: language/'.$langfile);
 		}
 
 		include_once(BASEPATH.'language/'.$idiom.'/'.$langfile);
diff --git a/system/libraries/Log.php b/system/libraries/Log.php
index 35e30b6..17b96b2 100644
--- a/system/libraries/Log.php
+++ b/system/libraries/Log.php
@@ -88,7 +88,7 @@
 			return FALSE;
 		}
 	
-		$filepath = $this->log_path.'log-'.date('Y-m-d').'.php';
+		$filepath = $this->log_path.'log-'.date('Y-m-d').EXT;
 		$message  = '';
 		
 		if ( ! file_exists($filepath))
diff --git a/system/libraries/Validation.php b/system/libraries/Validation.php
index df8c70e..e037e69 100644
--- a/system/libraries/Validation.php
+++ b/system/libraries/Validation.php
@@ -252,12 +252,12 @@
 				// Strip the parameter (if exists) from the rule
 				// Rules can contain a parameter: max_length[5]
 				$param = FALSE;
-				if (preg_match("/.*?(\[.*?\]).*/", $rule, $match))
+				if (preg_match("/(.*?)\[(.*?)\]/", $rule, $match))
 				{
-					$param = substr(substr($match['1'], 1), 0, -1);
-					$rule  = str_replace($match['1'], '', $rule);
+					$rule	= $match[1];
+					$param	= $match[2];
 				}
-
+				
 				// Call the function that corresponds to the rule
 				if ($callback === TRUE)
 				{