src/hotspot/share/services/diagnosticArgument.cpp
changeset 58682 9f5b92d5a1b2
parent 58084 cddef3bde924
equal deleted inserted replaced
58681:5f14a659a8cb 58682:9f5b92d5a1b2
   149        set_value(false);
   149        set_value(false);
   150     } else {
   150     } else {
   151       ResourceMark rm;
   151       ResourceMark rm;
   152 
   152 
   153       char* buf = NEW_RESOURCE_ARRAY(char, len + 1);
   153       char* buf = NEW_RESOURCE_ARRAY(char, len + 1);
       
   154 
       
   155 PRAGMA_DIAG_PUSH
       
   156 PRAGMA_STRINGOP_TRUNCATION_IGNORED
       
   157       // This code can incorrectly cause a "stringop-truncation" warning with gcc
   154       strncpy(buf, str, len);
   158       strncpy(buf, str, len);
       
   159 PRAGMA_DIAG_POP
       
   160 
   155       buf[len] = '\0';
   161       buf[len] = '\0';
   156       Exceptions::fthrow(THREAD_AND_LOCATION, vmSymbols::java_lang_IllegalArgumentException(),
   162       Exceptions::fthrow(THREAD_AND_LOCATION, vmSymbols::java_lang_IllegalArgumentException(),
   157         "Boolean parsing error in command argument '%s'. Could not parse: %s.\n", _name, buf);
   163         "Boolean parsing error in command argument '%s'. Could not parse: %s.\n", _name, buf);
   158     }
   164     }
   159   }
   165   }