diff --git a/ext/date/php_date.c b/ext/date/php_date.c index 362bd711b6d3..350a29d60153 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -798,7 +798,8 @@ static zend_string *date_format(char *format, size_t format_len, timelib_time *t offset->abbr = timelib_malloc(9); /* GMT±xxxx\0 */ snprintf(offset->abbr, 9, "GMT%c%02d%02d", (offset->offset < 0) ? '-' : '+', - abs(offset->offset / 3600), + /* Module 100 000 as 24 * 3600 = 86400 */ + abs((offset->offset % 100000) / 3600), abs((offset->offset % 3600) / 60)); } else { offset = timelib_get_time_zone_info(t->sse, t->tz_info); @@ -1010,7 +1011,8 @@ PHPAPI int php_idate(char format, time_t ts, int localtime) offset->abbr = timelib_malloc(9); /* GMT±xxxx\0 */ snprintf(offset->abbr, 9, "GMT%c%02d%02d", (offset->offset < 0) ? '-' : '+', - abs(offset->offset / 3600), + /* Module 100 000 as 24 * 3600 = 86400 */ + abs((offset->offset % 100000) / 3600), abs((offset->offset % 3600) / 60)); } else { offset = timelib_get_time_zone_info(t->sse, t->tz_info); diff --git a/ext/mysqlnd/mysqlnd_debug.c b/ext/mysqlnd/mysqlnd_debug.c index 8aa307e58f22..e3098db87559 100644 --- a/ext/mysqlnd/mysqlnd_debug.c +++ b/ext/mysqlnd/mysqlnd_debug.c @@ -53,7 +53,7 @@ MYSQLND_METHOD(mysqlnd_debug, log)(MYSQLND_DEBUG * self, unsigned int message_line_len; unsigned int flags = self->flags; char pid_buffer[10], time_buffer[30], file_buffer[200], - line_buffer[6], level_buffer[7]; + line_buffer[13], level_buffer[13]; if (!self->stream && FAIL == self->m->open(self, FALSE)) { return FAIL; @@ -150,7 +150,7 @@ MYSQLND_METHOD(mysqlnd_debug, log_va)(MYSQLND_DEBUG *self, va_list args; unsigned int flags = self->flags; char pid_buffer[10], time_buffer[30], file_buffer[200], - line_buffer[6], level_buffer[7]; + line_buffer[13], level_buffer[13]; if (!self->stream && FAIL == self->m->open(self, FALSE)) { return FAIL; diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c index 0faa6e9d573e..125835a8b286 100644 --- a/ext/soap/php_encoding.c +++ b/ext/soap/php_encoding.c @@ -2837,7 +2837,7 @@ static xmlNodePtr to_xml_datetime_ex(encodeTypePtr type, zval *data, char *forma int max_reallocs = 5; size_t buf_len=64, real_len; char *buf; - char tzbuf[8]; + char tzbuf[21]; xmlNodePtr xmlParam; diff --git a/ext/sockets/sockets.c b/ext/sockets/sockets.c index 322355c3c1fd..551653fe05a3 100644 --- a/ext/sockets/sockets.c +++ b/ext/sockets/sockets.c @@ -1719,7 +1719,7 @@ PHP_FUNCTION(socket_sendto) case AF_UNIX: memset(&s_un, 0, sizeof(s_un)); s_un.sun_family = AF_UNIX; - snprintf(s_un.sun_path, 108, "%s", addr); + snprintf(s_un.sun_path, sizeof(s_un.sun_path), "%s", addr); retval = sendto(php_sock->bsd_socket, buf, ((size_t)len > buf_len) ? buf_len : (size_t)len, flags, (struct sockaddr *) &s_un, SUN_LEN(&s_un)); break; diff --git a/ext/standard/info.c b/ext/standard/info.c index 71d713901019..6e2c44b3fbc0 100644 --- a/ext/standard/info.c +++ b/ext/standard/info.c @@ -640,7 +640,7 @@ void php_get_windows_cpu(char *buf, int bufsize) PHPAPI zend_string *php_get_uname(char mode) { char *php_uname; - char tmp_uname[256]; + char tmp_uname[325]; #ifdef PHP_WIN32 DWORD dwBuild=0; DWORD dwVersion = GetVersion(); diff --git a/ext/xmlrpc/libxmlrpc/xml_to_xmlrpc.c b/ext/xmlrpc/libxmlrpc/xml_to_xmlrpc.c index ad62196640b6..be6702204093 100644 --- a/ext/xmlrpc/libxmlrpc/xml_to_xmlrpc.c +++ b/ext/xmlrpc/libxmlrpc/xml_to_xmlrpc.c @@ -224,7 +224,7 @@ xml_element* XMLRPC_to_xml_element_worker(XMLRPC_VALUE current_vector, XMLRPC_VA case xmlrpc_double: { elem_val->name = estrdup(ELEM_DOUBLE); - ap_php_snprintf(buf, BUF_SIZE, "%.*G", (int) EG(precision), XMLRPC_GetValueDouble(node)); + snprintf(buf, BUF_SIZE, "%.*G", (int) EG(precision), XMLRPC_GetValueDouble(node)); simplestring_add(&elem_val->text, buf); } break; diff --git a/main/snprintf.c b/main/snprintf.c index 1acbf10dfb59..2fa657f39352 100644 --- a/main/snprintf.c +++ b/main/snprintf.c @@ -1273,41 +1273,20 @@ PHPAPI int ap_php_vslprintf(char *buf, size_t len, const char *format, va_list a } /* }}} */ -PHPAPI int ap_php_snprintf(char *buf, size_t len, const char *format,...) /* {{{ */ -{ - int cc; - va_list ap; - - va_start(ap, format); - strx_printv(&cc, buf, len, format, ap); - va_end(ap); - return (cc); -} -/* }}} */ - -PHPAPI int ap_php_vsnprintf(char *buf, size_t len, const char *format, va_list ap) /* {{{ */ -{ - int cc; - - strx_printv(&cc, buf, len, format, ap); - return (cc); -} -/* }}} */ - PHPAPI int ap_php_vasprintf(char **buf, const char *format, va_list ap) /* {{{ */ { va_list ap2; int cc; va_copy(ap2, ap); - cc = ap_php_vsnprintf(NULL, 0, format, ap2); + cc = vsnprintf(NULL, 0, format, ap2); va_end(ap2); *buf = NULL; if (cc >= 0) { if ((*buf = malloc(++cc)) != NULL) { - if ((cc = ap_php_vsnprintf(*buf, cc, format, ap)) < 0) { + if ((cc = vsnprintf(*buf, cc, format, ap)) < 0) { free(*buf); *buf = NULL; } diff --git a/main/snprintf.h b/main/snprintf.h index 8a3656212789..b593976a47ec 100644 --- a/main/snprintf.h +++ b/main/snprintf.h @@ -76,8 +76,6 @@ typedef enum { BEGIN_EXTERN_C() PHPAPI int ap_php_slprintf(char *buf, size_t len, const char *format,...) ZEND_ATTRIBUTE_FORMAT(printf, 3, 4); PHPAPI int ap_php_vslprintf(char *buf, size_t len, const char *format, va_list ap); -PHPAPI int ap_php_snprintf(char *, size_t, const char *, ...) ZEND_ATTRIBUTE_FORMAT(printf, 3, 4); -PHPAPI int ap_php_vsnprintf(char *, size_t, const char *, va_list ap); PHPAPI int ap_php_vasprintf(char **buf, const char *format, va_list ap); PHPAPI int ap_php_asprintf(char **buf, const char *format, ...) ZEND_ATTRIBUTE_FORMAT(printf, 2, 3); PHPAPI char * php_gcvt(double value, int ndigit, char dec_point, char exponent, char *buf); @@ -97,16 +95,6 @@ END_EXTERN_C() #endif #define vslprintf ap_php_vslprintf -#ifdef snprintf -#undef snprintf -#endif -#define snprintf ap_php_snprintf - -#ifdef vsnprintf -#undef vsnprintf -#endif -#define vsnprintf ap_php_vsnprintf - #ifndef HAVE_VASPRINTF #define vasprintf ap_php_vasprintf #endif