summaryrefslogtreecommitdiff
path: root/ext/dba
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2003-04-24 20:54:43 +0000
committerMarcus Boerger <helly@php.net>2003-04-24 20:54:43 +0000
commit8a5ba51ac8b6dfc26d1efa8fcad4aad2c709ff7c (patch)
tree410aac3ab7e3891e42a982caec3d36d9117f18f3 /ext/dba
parent228f65f88936579b91542cc7e9bf7a72edd40b6c (diff)
downloadphp-git-8a5ba51ac8b6dfc26d1efa8fcad4aad2c709ff7c.tar.gz
MFB: safe_emalloc()
Diffstat (limited to 'ext/dba')
-rw-r--r--ext/dba/dba.c5
-rw-r--r--ext/dba/dba_cdb.c6
-rw-r--r--ext/dba/libcdb/cdb_make.c6
-rw-r--r--ext/dba/libflatfile/flatfile.c2
4 files changed, 9 insertions, 10 deletions
diff --git a/ext/dba/dba.c b/ext/dba/dba.c
index cacb2086be..f83ec079a8 100644
--- a/ext/dba/dba.c
+++ b/ext/dba/dba.c
@@ -525,7 +525,7 @@ static void php_dba_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
}
/* we pass additional args to the respective handler */
- args = emalloc(ac * sizeof(zval *));
+ args = safe_emalloc(ac, sizeof(zval *), 0);
if (zend_get_parameters_array_ex(ac, args) != SUCCESS) {
FREENOW;
WRONG_PARAM_COUNT;
@@ -541,7 +541,8 @@ static void php_dba_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
list_entry *le;
/* calculate hash */
- key = emalloc(keylen);
+ key = safe_emalloc(keylen, 1, 1);
+ key[keylen] = '\0';
keylen = 0;
for(i = 0; i < ac; i++) {
diff --git a/ext/dba/dba_cdb.c b/ext/dba/dba_cdb.c
index 654f07f684..b6f1c5e8dc 100644
--- a/ext/dba/dba_cdb.c
+++ b/ext/dba/dba_cdb.c
@@ -163,7 +163,7 @@ DBA_FETCH_FUNC(cdb)
}
}
len = cdb_datalen(&cdb->c);
- new_entry = emalloc(len+1);
+ new_entry = safe_emalloc(len, 1, 1);
if (php_cdb_read(&cdb->c, new_entry, len, cdb_datapos(&cdb->c)) == -1) {
efree(new_entry);
@@ -268,7 +268,7 @@ DBA_FIRSTKEY_FUNC(cdb)
uint32_unpack(buf, &klen);
uint32_unpack(buf + 4, &dlen);
- key = emalloc(klen + 1);
+ key = safe_emalloc(klen, 1, 1);
if (cdb_file_read(cdb->file, key, klen) < klen) {
efree(key);
key = NULL;
@@ -300,7 +300,7 @@ DBA_NEXTKEY_FUNC(cdb)
uint32_unpack(buf, &klen);
uint32_unpack(buf + 4, &dlen);
- key = emalloc(klen + 1);
+ key = safe_emalloc(klen, 1, 1);
if (cdb_file_read(cdb->file, key, klen) < klen) {
efree(key);
key = NULL;
diff --git a/ext/dba/libcdb/cdb_make.c b/ext/dba/libcdb/cdb_make.c
index 1c3402e908..64525a17a2 100644
--- a/ext/dba/libcdb/cdb_make.c
+++ b/ext/dba/libcdb/cdb_make.c
@@ -79,8 +79,7 @@ int cdb_make_addend(struct cdb_make *c, unsigned int keylen, unsigned int datale
head = c->head;
if (!head || (head->num >= CDB_HPLIST)) {
- head = (struct cdb_hplist *)
- emalloc(sizeof(struct cdb_hplist));
+ head = (struct cdb_hplist *) emalloc(sizeof(struct cdb_hplist));
if (!head)
return -1;
head->num = 0;
@@ -172,8 +171,7 @@ int cdb_make_finish(struct cdb_make *c TSRMLS_DC)
return -1;
}
- c->split = (struct cdb_hp *)
- emalloc(memsize * sizeof(struct cdb_hp));
+ c->split = (struct cdb_hp *) safe_emalloc(memsize, sizeof(struct cdb_hp), 0);
if (!c->split)
return -1;
diff --git a/ext/dba/libflatfile/flatfile.c b/ext/dba/libflatfile/flatfile.c
index 44ef3d53a3..5a9074da6e 100644
--- a/ext/dba/libflatfile/flatfile.c
+++ b/ext/dba/libflatfile/flatfile.c
@@ -91,7 +91,7 @@ datum flatfile_fetch(flatfile *dba, datum key_datum TSRMLS_DC) {
if (flatfile_findkey(dba, key_datum TSRMLS_CC)) {
if (php_stream_gets(dba->fp, buf, sizeof(buf))) {
value_datum.dsize = atoi(buf);
- value_datum.dptr = emalloc(value_datum.dsize+1);
+ value_datum.dptr = safe_emalloc(value_datum.dsize, 1, 1);
value_datum.dsize = php_stream_read(dba->fp, value_datum.dptr, value_datum.dsize);
} else {
value_datum.dptr = NULL;