cvs: php4 /ext/fbsql php_fbsql.c
| From: | Frank M. Kromann | Date: | Wed, 02 May 2001 20:06:00 +0000 |
| Subject: | cvs: php4 /ext/fbsql php_fbsql.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-5466@lists.php.net to get a copy of this message | ||
fmk Wed May 2 13:06:00 2001 EDT
Modified files:
/php4/ext/fbsql php_fbsql.c
Log:
Fixing segfault in database_password
Index: php4/ext/fbsql/php_fbsql.c
diff -u php4/ext/fbsql/php_fbsql.c:1.15 php4/ext/fbsql/php_fbsql.c:1.16
--- php4/ext/fbsql/php_fbsql.c:1.15 Tue May 1 15:04:11 2001
+++ php4/ext/fbsql/php_fbsql.c Wed May 2 13:06:00 2001
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_fbsql.c,v 1.15 2001/05/01 22:04:11 fmk Exp $ */
+/* $Id: php_fbsql.c,v 1.16 2001/05/02 20:06:00 fmk Exp $ */
/* TODO:
*
@@ -410,7 +410,7 @@
char name[256];
gethostname(name,sizeof(name));
name[sizeof(name)-1] = 0;
- fbsql_globals->hostName = strdup(name);
+ fbsql_globals->hostName = estrdup(name);
}
fbsql_globals->persistantCount = 0;
@@ -524,9 +524,9 @@
result = malloc(sizeof(PHPFBLink));
result->retainCount = 1;
result->persistant = persistant;
- result->hostName = strdup(hostName);
- result->userName = strdup(userName);
- result->userPassword = strdup(userPassword);
+ result->hostName = estrdup(hostName);
+ result->userName = estrdup(userName);
+ result->userPassword = estrdup(userPassword);
result->execHandler = execHandler;
result->affectedRows = 0;
result->autoCommit = FB_SQL_G(autoCommit);
@@ -795,8 +795,8 @@
result->retainCount = 2;
result->index = zend_list_insert((PHPFBDatabase*)(le.ptr), le_dba);
result->link = phpfbRetainLink(link);
- result->databaseName = strdup(databaseName);
- result->databasePassword = strdup(FB_SQL_G(databasePassword));
+ result->databaseName = estrdup(databaseName);
+ result->databasePassword = estrdup(FB_SQL_G(databasePassword));
result->connection = c;
result->errorNo = 0;
result->errorText = NULL;
@@ -966,7 +966,7 @@
{
convert_to_string_ex(argv[1]);
if (phpLink->hostName) free(phpLink->hostName);
- phpLink->hostName = strdup((*argv[1])->value.str.val);
+ phpLink->hostName = estrdup((*argv[1])->value.str.val);
}
}
/* }}} */
@@ -1016,14 +1016,14 @@
phpLink = phpfbGetLink((*argv[0])->value.lval);
if (phpLink == NULL) RETURN_FALSE;
- phpfbestrdup(phpLink->currentDatabase->databasePassword,
&return_value->value.str.len, &return_value->value.str.val);
- return_value->type = IS_STRING;
if (argc == 2)
{
convert_to_string_ex(argv[1]);
- if (phpLink->currentDatabase->databasePassword)
free(phpLink->currentDatabase->databasePassword);
- phpLink->currentDatabase->databasePassword = strdup((*argv[1])->value.str.val);
+ if (FB_SQL_G(databasePassword)) free(FB_SQL_G(databasePassword));
+ FB_SQL_G(databasePassword) = estrdup((*argv[1])->value.str.val);
}
+ phpfbestrdup(phpLink->currentDatabase->databasePassword,
&return_value->value.str.len, &return_value->value.str.val);
+ return_value->type = IS_STRING;
}
/* }}} */
@@ -1044,14 +1044,14 @@
if (argc >= 1)
{
convert_to_string_ex(argv[0]);
- free(FB_SQL_G(userName));
+ if (FB_SQL_G(userName)) free(FB_SQL_G(userName));
FB_SQL_G(userName) = strdup((*argv[0])->value.str.val);
}
}
/* }}} */
-/* {{{ proto string fbsql_username([string password])
+/* {{{ proto string fbsql_password([string password])
*/
PHP_FUNCTION(fbsql_password)
{
@@ -1064,7 +1064,7 @@
if (argc >= 1)
{
convert_to_string_ex(argv[0]);
- free(FB_SQL_G(userPassword));
+ if (FB_SQL_G(userPassword)) free(FB_SQL_G(userPassword));
FB_SQL_G(userPassword) = strdup((*argv[0])->value.str.val);
}
}
@@ -1077,7 +1077,7 @@
{
int argc = ARG_COUNT(ht);
zval **argv[2];
- char* name;
+ char* name = NULL;
PHPFBLink* phpLink = NULL;
PHPFBDatabase* database = NULL;
FBSQLLS_FETCH();
@@ -1175,7 +1175,7 @@
if (return_value->value.lval)
{
free(phpLink->userName);
- phpLink->userName = strdup(userName);
+ phpLink->userName = estrdup(userName);
}
}
}
@@ -1502,7 +1502,7 @@
if (md == NULL)
{
database->errorNo = 1;
- database->errorText = strdup("Connection was database server was lost");
+ database->errorText = estrdup("Connection was database server was lost");
if (FB_SQL_G(generateWarnings)) php_error(E_WARNING, database->errorText);
result = 0;
}