@@ -45,11 +45,6 @@ void copyFromJString(JNIEnv * pEnv, jstring src, char ** dst) {
45
45
NSK_CPP_STUB3 (ReleaseStringUTFChars , pEnv , src , pStr );
46
46
}
47
47
48
- #if !defined(__clang_major__ ) && defined(__GNUC__ ) && (__GNUC__ >= 8 )
49
- _Pragma ("GCC diagnostic push" )
50
- _Pragma ("GCC diagnostic ignored \"-Wstringop-truncation\"" )
51
- #endif
52
-
53
48
struct MethodName * getMethodName (jvmtiEnv * pJvmtiEnv , jmethodID method ) {
54
49
char * szName ;
55
50
char * szSignature ;
@@ -71,18 +66,16 @@ struct MethodName * getMethodName(jvmtiEnv * pJvmtiEnv, jmethodID method) {
71
66
}
72
67
73
68
mn = malloc (sizeof (MethodNameStruct ));
74
- strncpy (mn -> methodName , szName , sizeof (mn -> methodName ));
75
- strncpy (mn -> classSig , szSignature , sizeof (mn -> classSig ));
69
+ strncpy (mn -> methodName , szName , sizeof (mn -> methodName ) - 1 );
70
+ mn -> methodName [sizeof (mn -> methodName ) - 1 ] = '\0' ;
71
+ strncpy (mn -> classSig , szSignature , sizeof (mn -> classSig ) - 1 );
72
+ mn -> classSig [sizeof (mn -> classSig ) - 1 ] = '\0' ;
76
73
77
74
NSK_JVMTI_VERIFY (NSK_CPP_STUB2 (Deallocate , pJvmtiEnv , (void * ) szName ));
78
75
NSK_JVMTI_VERIFY (NSK_CPP_STUB2 (Deallocate , pJvmtiEnv , (void * ) szSignature ));
79
76
return mn ;
80
77
}
81
78
82
- #if !defined(__clang_major__ ) && defined(__GNUC__ ) && (__GNUC__ >= 8 )
83
- _Pragma ("GCC diagnostic pop" )
84
- #endif
85
-
86
79
char * locationToString (jvmtiEnv * pJvmtiEnv , jmethodID method , jlocation location ) {
87
80
struct MethodName * pMN ;
88
81
// gcc 7.3 claims that snprintf below can output between 6 and 531 bytes. Setting buffer size to 600.
0 commit comments