diff options
author | Ilia Alshanetsky <iliaa@php.net> | 2007-05-28 23:14:57 +0000 |
---|---|---|
committer | Ilia Alshanetsky <iliaa@php.net> | 2007-05-28 23:14:57 +0000 |
commit | de573ba7ff35e1d9f338e574067997745db54352 (patch) | |
tree | eaa51fdc44bb3404d67e1ab274d3e5def9054721 /ext | |
parent | 66526cee92c9e285c0a73e35d5ba09e17e810e9a (diff) | |
download | php-git-de573ba7ff35e1d9f338e574067997745db54352.tar.gz |
MFB
Diffstat (limited to 'ext')
-rw-r--r-- | ext/dbase/dbf_rec.c | 3 | ||||
-rw-r--r-- | ext/simplexml/simplexml.c | 4 | ||||
-rw-r--r-- | ext/sockets/sockets.c | 9 | ||||
-rw-r--r-- | ext/sqlite/sess_sqlite.c | 10 | ||||
-rw-r--r-- | ext/standard/md5.c | 19 | ||||
-rw-r--r-- | ext/standard/md5.h | 1 | ||||
-rw-r--r-- | ext/standard/sha1.c | 14 |
7 files changed, 28 insertions, 32 deletions
diff --git a/ext/dbase/dbf_rec.c b/ext/dbase/dbf_rec.c index 31a15eded5..cc12985cc1 100644 --- a/ext/dbase/dbf_rec.c +++ b/ext/dbase/dbf_rec.c @@ -152,8 +152,7 @@ char *get_field_val(char *rp, dbfield_t *fldp, char *cp) if ( !cp ) cp = (char *)malloc(flen + 1); if ( cp ) { - strncpy(cp, &rp[fldp->db_foffset], flen); - cp[flen] = 0; + strlcpy(cp, &rp[fldp->db_foffset], flen + 1); } return cp; } diff --git a/ext/simplexml/simplexml.c b/ext/simplexml/simplexml.c index 6c14cab328..3fb12d59e8 100644 --- a/ext/simplexml/simplexml.c +++ b/ext/simplexml/simplexml.c @@ -1605,8 +1605,8 @@ SXE_METHOD(addAttribute) return; } - if (qname_len == 0 || value_len == 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Attribute name and value are required"); + if (qname_len == 0) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Attribute name is required"); return; } diff --git a/ext/sockets/sockets.c b/ext/sockets/sockets.c index 8291895305..5ec6d53aa9 100644 --- a/ext/sockets/sockets.c +++ b/ext/sockets/sockets.c @@ -156,7 +156,7 @@ zend_module_entry sockets_module_entry = { sockets_functions, PHP_MINIT(sockets), NULL, - PHP_RINIT(sockets), + NULL, PHP_RSHUTDOWN(sockets), PHP_MINFO(sockets), NO_VERSION_YET, @@ -521,13 +521,6 @@ PHP_MINFO_FUNCTION(sockets) } /* }}} */ -/* {{{ PHP_RINIT_FUNCTION */ -PHP_RINIT_FUNCTION(sockets) -{ - return SUCCESS; -} -/* }}} */ - /* {{{ PHP_RSHUTDOWN_FUNCTION */ PHP_RSHUTDOWN_FUNCTION(sockets) { diff --git a/ext/sqlite/sess_sqlite.c b/ext/sqlite/sess_sqlite.c index 39a272965f..ff5c4db7aa 100644 --- a/ext/sqlite/sess_sqlite.c +++ b/ext/sqlite/sess_sqlite.c @@ -109,9 +109,13 @@ PS_READ_FUNC(sqlite) case SQLITE_ROW: if (rowdata[0] != NULL) { *vallen = strlen(rowdata[0]); - *val = emalloc(*vallen); - *vallen = sqlite_decode_binary(rowdata[0], *val); - (*val)[*vallen] = '\0'; + if (*vallen) { + *val = emalloc(*vallen); + *vallen = sqlite_decode_binary(rowdata[0], *val); + (*val)[*vallen] = '\0'; + } else { + *val = STR_EMPTY_ALLOC(); + } } break; default: diff --git a/ext/standard/md5.c b/ext/standard/md5.c index cfa0d5a458..fa0d367b39 100644 --- a/ext/standard/md5.c +++ b/ext/standard/md5.c @@ -29,14 +29,19 @@ PHPAPI void make_digest(char *md5str, unsigned char *digest) { + make_digest_ex(md5str, digest, 16); +} + +PHPAPI void make_digest_ex(char *md5str, unsigned char *digest, int len) +{ + static const char hexits[17] = "0123456789abcdef"; int i; - for (i = 0; i < 16; i++) { - sprintf(md5str, "%02x", digest[i]); - md5str += 2; + for (i = 0; i < len; i++) { + md5str[i * 2] = hexits[digest[i] >> 4]; + md5str[(i * 2) + 1] = hexits[digest[i] & 0x0F]; } - - *md5str = '\0'; + md5str[len * 2] = '\0'; } /* {{{ proto string md5(string str, [ bool raw_output]) U @@ -70,7 +75,7 @@ PHP_NAMED_FUNCTION(php_if_md5) if (raw_output) { RETVAL_STRINGL((char*)digest, 16, 1); } else { - make_digest(md5str, digest); + make_digest_ex(md5str, digest. 16); RETVAL_ASCII_STRING(md5str, ZSTR_DUPLICATE); } @@ -130,7 +135,7 @@ PHP_NAMED_FUNCTION(php_if_md5_file) if (raw_output) { RETURN_STRINGL((char*)digest, 16, 1); } else { - make_digest(md5str, digest); + make_digest_ex(md5str, digest, 16); RETVAL_ASCII_STRING(md5str, ZSTR_DUPLICATE); } } diff --git a/ext/standard/md5.h b/ext/standard/md5.h index 82f2e75a65..6926ee4fde 100644 --- a/ext/standard/md5.h +++ b/ext/standard/md5.h @@ -55,6 +55,7 @@ typedef struct { } PHP_MD5_CTX; PHPAPI void make_digest(char *md5str, unsigned char *digest); +PHPAPI void make_digest_ex(char *md5str, unsigned char *digest, int len); PHPAPI void PHP_MD5Init(PHP_MD5_CTX *); PHPAPI void PHP_MD5Update(PHP_MD5_CTX *, const unsigned char *, unsigned int); PHPAPI void PHP_MD5Final(unsigned char[16], PHP_MD5_CTX *); diff --git a/ext/standard/sha1.c b/ext/standard/sha1.c index aca8ef80de..33275c9287 100644 --- a/ext/standard/sha1.c +++ b/ext/standard/sha1.c @@ -24,17 +24,11 @@ /* This code is heavily based on the PHP md5 implementation */ #include "sha1.h" +#include "md5.h" PHPAPI void make_sha1_digest(char *sha1str, unsigned char *digest) { - int i; - - for (i = 0; i < 20; i++) { - sprintf(sha1str, "%02x", digest[i]); - sha1str += 2; - } - - *sha1str = '\0'; + make_digest_ex(sha1str, digest, 20); } /* {{{ proto string sha1(string str [, bool raw_output]) U @@ -68,7 +62,7 @@ PHP_FUNCTION(sha1) if (raw_output) { RETVAL_STRINGL((char*)digest, 20, 1); } else { - make_sha1_digest(sha1str, digest); + make_digest_ex(sha1str, digest, 20); RETVAL_ASCII_STRING(sha1str, ZSTR_DUPLICATE); } @@ -130,7 +124,7 @@ PHP_FUNCTION(sha1_file) if (raw_output) { RETURN_STRINGL((char*)digest, 20, 1); } else { - make_sha1_digest(sha1str, digest); + make_digest_ex(sha1str, digest, 20); RETVAL_ASCII_STRING(sha1str, ZSTR_DUPLICATE); } } |