8214854: JDWP: Unforseen output truncation in logging
Reviewed-by: cjplummer, dholmes
This commit is contained in:
parent
f6d199fdb3
commit
d8e91975b6
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -42,6 +42,12 @@
|
|||||||
#define MAXLEN_MESSAGE 256
|
#define MAXLEN_MESSAGE 256
|
||||||
#define MAXLEN_EXEC (MAXLEN_FILENAME*2+MAXLEN_INTEGER+16)
|
#define MAXLEN_EXEC (MAXLEN_FILENAME*2+MAXLEN_INTEGER+16)
|
||||||
|
|
||||||
|
#define TIMESTAMP_SIZE (MAXLEN_TIMESTAMP+1)
|
||||||
|
#define MAXLEN_DT 19 // "DD.MM.YYYY HH:MM:SS"
|
||||||
|
#define MAXLEN_MS 5 // ".mmm "
|
||||||
|
#define DT_SIZE (MAXLEN_DT+1)
|
||||||
|
#define TZ_SIZE (TIMESTAMP_SIZE-MAXLEN_DT-MAXLEN_MS)
|
||||||
|
|
||||||
static MUTEX_T my_mutex = MUTEX_INIT;
|
static MUTEX_T my_mutex = MUTEX_INIT;
|
||||||
|
|
||||||
/* Static variables (should be protected with mutex) */
|
/* Static variables (should be protected with mutex) */
|
||||||
@ -52,12 +58,14 @@ static char location_stamp[MAXLEN_LOCATION+1];
|
|||||||
static PID_T processPid;
|
static PID_T processPid;
|
||||||
static int open_count;
|
static int open_count;
|
||||||
|
|
||||||
/* Ascii id of current native thread. */
|
/*
|
||||||
|
* "DD.MM.YYYY HH:MM:SS.mmm <TZ>"
|
||||||
|
*/
|
||||||
static void
|
static void
|
||||||
get_time_stamp(char *tbuf, size_t ltbuf)
|
get_time_stamp(char *tbuf, size_t ltbuf)
|
||||||
{
|
{
|
||||||
char timestamp_prefix[MAXLEN_TIMESTAMP+1];
|
char timestamp_date_time[DT_SIZE];
|
||||||
char timestamp_postfix[MAXLEN_TIMESTAMP+1];
|
char timestamp_timezone[TZ_SIZE];
|
||||||
unsigned millisecs = 0;
|
unsigned millisecs = 0;
|
||||||
time_t t = 0;
|
time_t t = 0;
|
||||||
|
|
||||||
@ -65,15 +73,14 @@ get_time_stamp(char *tbuf, size_t ltbuf)
|
|||||||
if ( time(&t) == (time_t)(-1) ) {
|
if ( time(&t) == (time_t)(-1) ) {
|
||||||
t = 0;
|
t = 0;
|
||||||
}
|
}
|
||||||
/* Break this up so that the format strings are string literals
|
|
||||||
and we avoid a compiler warning. */
|
(void)strftime(timestamp_date_time, DT_SIZE,
|
||||||
(void)strftime(timestamp_prefix, sizeof(timestamp_prefix),
|
|
||||||
"%d.%m.%Y %T", localtime(&t));
|
"%d.%m.%Y %T", localtime(&t));
|
||||||
(void)strftime(timestamp_postfix, sizeof(timestamp_postfix),
|
(void)strftime(timestamp_timezone, TZ_SIZE,
|
||||||
"%Z", localtime(&t));
|
"%Z", localtime(&t));
|
||||||
(void)snprintf(tbuf, ltbuf,
|
(void)snprintf(tbuf, ltbuf,
|
||||||
"%s.%.3d %s", timestamp_prefix,
|
"%s.%.3d %s", timestamp_date_time,
|
||||||
(int)(millisecs), timestamp_postfix);
|
(int)(millisecs), timestamp_timezone);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get basename of filename */
|
/* Get basename of filename */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user