From 4473dc558828a94e9e251c302235358af1d08712 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Mon, 25 Jan 2016 03:56:11 -0500 Subject: [PATCH] Merge branch 'master' of github.com:roundcube/roundcubemail --- plugins/password/helpers/chgdbmailusers.c | 25 +++---------------------- 1 files changed, 3 insertions(+), 22 deletions(-) diff --git a/plugins/password/helpers/chgdbmailusers.c b/plugins/password/helpers/chgdbmailusers.c index 28f79c1..0f2fda9 100644 --- a/plugins/password/helpers/chgdbmailusers.c +++ b/plugins/password/helpers/chgdbmailusers.c @@ -1,11 +1,9 @@ #include <stdio.h> -#include <string.h> #include <unistd.h> // set the UID this script will run as (root user) #define UID 0 #define CMD "/usr/sbin/dbmail-users" -#define RCOK 0x100 /* INSTALLING: gcc -o chgdbmailusers chgdbmailusers.c @@ -16,29 +14,12 @@ main(int argc, char *argv[]) { - int cnt,rc,cc; - char cmnd[255]; - - strcpy(cmnd, CMD); - - if (argc > 1) - { - for (cnt = 1; cnt < argc; cnt++) - { - strcat(cmnd, " "); - strcat(cmnd, argv[cnt]); - } - } - else - { - fprintf(stderr, "__ %s: failed %d %d\n", argv[0], rc, cc); - return 255; - } + int rc, cc; cc = setuid(UID); - rc = system(cmnd); + rc = execvp(CMD, argv); - if ((rc != RCOK) || (cc != 0)) + if ((rc != 0) || (cc != 0)) { fprintf(stderr, "__ %s: failed %d %d\n", argv[0], rc, cc); return 1; -- Gitblit v1.9.1