comparison gtk3/dw.c @ 2210:7677e1083d07

Increase _DW_ENV_STRING_SIZE to 257 bytes, this is the maximum size the utsname fields can be according to the Linux utsname man page. This seems to be a bit excessive but, this will prevent any possible issue on future operating system support. It also eliminates a bogus warning when compiling using gcc 9 and higher, which I believe is this gcc bug: warning: ‘__builtin_strncpy’ output may be truncated copying 64 bytes from a string of length 64 [-Wstringop-truncation] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88780
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 07 Dec 2020 20:01:03 +0000
parents 0b6e1b5c8b5e
children 9395c1efa98b
comparison
equal deleted inserted replaced
2209:0b6e1b5c8b5e 2210:7677e1083d07
11180 * env: Pointer to a DWEnv struct. 11180 * env: Pointer to a DWEnv struct.
11181 */ 11181 */
11182 void dw_environment_query(DWEnv *env) 11182 void dw_environment_query(DWEnv *env)
11183 { 11183 {
11184 struct utsname name; 11184 struct utsname name;
11185 char tempbuf[100] = { 0 }, *dot; 11185 char tempbuf[_DW_ENV_STRING_SIZE] = { 0 }, *dot;
11186 11186
11187 uname(&name); 11187 uname(&name);
11188 memset(env, '\0', sizeof(DWEnv)); 11188 memset(env, '\0', sizeof(DWEnv));
11189 strncpy(env->osName, name.sysname, sizeof(env->osName)-1); 11189 strncpy(env->osName, name.sysname, sizeof(env->osName)-1);
11190 strncpy(tempbuf, name.release, 99); 11190 strncpy(tempbuf, name.release, sizeof(tempbuf)-1);
11191 11191
11192 strncpy(env->buildDate, __DATE__, sizeof(env->buildDate)-1); 11192 strncpy(env->buildDate, __DATE__, sizeof(env->buildDate)-1);
11193 strncpy(env->buildTime, __TIME__, sizeof(env->buildTime)-1); 11193 strncpy(env->buildTime, __TIME__, sizeof(env->buildTime)-1);
11194 #ifdef USE_WEBKIT 11194 #ifdef USE_WEBKIT
11195 # ifdef USE_WEBKIT2 11195 # ifdef USE_WEBKIT2