< prev index next >

src/hotspot/share/services/attachListener.hpp

Print this page
rev 49200 : 8199010: attachListener.hpp: Fix potential null termination issue found by coverity scans

*** 1,7 **** /* ! * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 120,132 **** public: const char* name() const { return _name; } // set the operation name void set_name(char* name) { ! size_t len = strlen(name); ! assert(len <= name_length_max, "exceeds maximum name length"); ! memcpy(_name, name, MIN2(len + 1, (size_t)name_length_max)); } // get an argument value const char* arg(int i) const { assert(i>=0 && i<arg_count_max, "invalid argument index"); --- 120,133 ---- public: const char* name() const { return _name; } // set the operation name void set_name(char* name) { ! assert(strlen(name) <= name_length_max, "exceeds maximum name length"); ! size_t len = MIN2(strlen(name), (size_t)name_length_max); ! memcpy(_name, name, len); ! _name[len] = '\0'; } // get an argument value const char* arg(int i) const { assert(i>=0 && i<arg_count_max, "invalid argument index");
*** 137,149 **** void set_arg(int i, char* arg) { assert(i>=0 && i<arg_count_max, "invalid argument index"); if (arg == NULL) { _arg[i][0] = '\0'; } else { ! size_t len = strlen(arg); ! assert(len <= arg_length_max, "exceeds maximum argument length"); ! memcpy(_arg[i], arg, MIN2(len + 1, (size_t)arg_length_max)); } } // create an operation of a given name AttachOperation(char* name) { --- 138,151 ---- void set_arg(int i, char* arg) { assert(i>=0 && i<arg_count_max, "invalid argument index"); if (arg == NULL) { _arg[i][0] = '\0'; } else { ! assert(strlen(arg) <= arg_length_max, "exceeds maximum argument length"); ! size_t len = MIN2(strlen(arg), (size_t)arg_length_max); ! memcpy(_arg[i], arg, len); ! _arg[i][len] = '\0'; } } // create an operation of a given name AttachOperation(char* name) {
< prev index next >