]> granicus.if.org Git - php/commitdiff
MFB: strcat() stuff
authorIlia Alshanetsky <iliaa@php.net>
Thu, 28 Dec 2006 15:10:54 +0000 (15:10 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Thu, 28 Dec 2006 15:10:54 +0000 (15:10 +0000)
main/php_logos.c

index 6f892a417df2a361d2a3276f4ccd1b8ea3d33776..aa2378dc45513b64661616ca8a5a1de2fd1cef0c 100644 (file)
@@ -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((char*)logo_image->data, logo_image->size);
        return 1;