|
@@ -80,7 +80,8 @@ void shutdown(int exit_val, char *err_cause, int line_no)
|
|
|
if (in_shutdown++)
|
|
|
return;
|
|
|
|
|
|
- seteuid(0);
|
|
|
+ if (seteuid(0) == -1)
|
|
|
+ perror("seteuid() failed");
|
|
|
|
|
|
if (queue != -1)
|
|
|
if (mq_close(queue))
|
|
@@ -292,8 +293,10 @@ int main(int argc, char *argv[])
|
|
|
/* Tell the user our initial state */
|
|
|
printf("\nInitial system state:\n");
|
|
|
printf("\tUsing queue path:\t\t%s\n", queue_path);
|
|
|
- printf("\tRLIMIT_MSGQUEUE(soft):\t\t%d\n", saved_limits.rlim_cur);
|
|
|
- printf("\tRLIMIT_MSGQUEUE(hard):\t\t%d\n", saved_limits.rlim_max);
|
|
|
+ printf("\tRLIMIT_MSGQUEUE(soft):\t\t%ld\n",
|
|
|
+ (long) saved_limits.rlim_cur);
|
|
|
+ printf("\tRLIMIT_MSGQUEUE(hard):\t\t%ld\n",
|
|
|
+ (long) saved_limits.rlim_max);
|
|
|
printf("\tMaximum Message Size:\t\t%d\n", saved_max_msgsize);
|
|
|
printf("\tMaximum Queue Size:\t\t%d\n", saved_max_msgs);
|
|
|
if (default_settings) {
|
|
@@ -308,8 +311,8 @@ int main(int argc, char *argv[])
|
|
|
validate_current_settings();
|
|
|
|
|
|
printf("Adjusted system state for testing:\n");
|
|
|
- printf("\tRLIMIT_MSGQUEUE(soft):\t\t%d\n", cur_limits.rlim_cur);
|
|
|
- printf("\tRLIMIT_MSGQUEUE(hard):\t\t%d\n", cur_limits.rlim_max);
|
|
|
+ printf("\tRLIMIT_MSGQUEUE(soft):\t\t%ld\n", (long) cur_limits.rlim_cur);
|
|
|
+ printf("\tRLIMIT_MSGQUEUE(hard):\t\t%ld\n", (long) cur_limits.rlim_max);
|
|
|
printf("\tMaximum Message Size:\t\t%d\n", cur_max_msgsize);
|
|
|
printf("\tMaximum Queue Size:\t\t%d\n", cur_max_msgs);
|
|
|
if (default_settings) {
|
|
@@ -454,7 +457,12 @@ int main(int argc, char *argv[])
|
|
|
else
|
|
|
printf("Queue open with total size > 2GB when euid = 0 "
|
|
|
"failed:\t\t\tPASS\n");
|
|
|
- seteuid(99);
|
|
|
+
|
|
|
+ if (seteuid(99) == -1) {
|
|
|
+ perror("seteuid() failed");
|
|
|
+ exit(1);
|
|
|
+ }
|
|
|
+
|
|
|
attr.mq_maxmsg = cur_max_msgs;
|
|
|
attr.mq_msgsize = cur_max_msgsize;
|
|
|
if (test_queue_fail(&attr, &result))
|