summaryrefslogtreecommitdiff
path: root/main/php_logos.c
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2006-12-28 15:09:29 +0000
committerIlia Alshanetsky <iliaa@php.net>2006-12-28 15:09:29 +0000
commitb154f188d10625ea3bfde0d15f565788a7409b11 (patch)
treeccc999e4aee67c9e34e2fbbb5cc65e6f6f555f35 /main/php_logos.c
parentdae5040b617b99daf8ea698db2958cbe31613c11 (diff)
downloadphp-git-b154f188d10625ea3bfde0d15f565788a7409b11.tar.gz
Simplify code and eliminate strcat() usage
Diffstat (limited to 'main/php_logos.c')
-rw-r--r--main/php_logos.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/main/php_logos.c b/main/php_logos.c
index c544d7fdf3..e85b04839e 100644
--- a/main/php_logos.c
+++ b/main/php_logos.c
@@ -78,13 +78,12 @@ int php_info_logos(const char *logo_string TSRMLS_DC)
if(FAILURE==zend_hash_find(&phpinfo_logo_hash, (char *) logo_string, strlen(logo_string), (void **)&logo_image))
return 0;
- len=strlen(CONTENT_TYPE_HEADER)+logo_image->mimelen;
- content_header=malloc(len+1);
- if(!content_header) return 0;
- strcpy(content_header, CONTENT_TYPE_HEADER);
- strcat(content_header, logo_image->mimetype);
- sapi_add_header(content_header, len, 1);
- free(content_header);
+ len = sizeof(CONTENT_TYPE_HEADER) - 1 + logo_image->mimelen;
+ content_header = emalloc(len + 1);
+ memcpy(content_header, CONTENT_TYPE_HEADER, sizeof(CONTENT_TYPE_HEADER) - 1);
+ memcpy(content_header + sizeof(CONTENT_TYPE_HEADER) - 1 , logo_image->mimetype, logo_image->mimelen);
+ content_header[len] = '\0';
+ sapi_add_header(content_header, len, 0);
PHPWRITE(logo_image->data, logo_image->size);
return 1;