shie            Tue Apr 20 03:30:41 2004 EDT

  Modified files:              
    /non-pecl/simple_cvs        simple_cvs.c simple_cvs_defs.h 
                                simple_cvs_utils.c 
  Log:
  fixed: sprintf==>snprintf (thanks to derick)
  
  
  
http://cvs.php.net/diff.php/non-pecl/simple_cvs/simple_cvs.c?r1=1.3&r2=1.4&ty=u
Index: non-pecl/simple_cvs/simple_cvs.c
diff -u non-pecl/simple_cvs/simple_cvs.c:1.3 non-pecl/simple_cvs/simple_cvs.c:1.4
--- non-pecl/simple_cvs/simple_cvs.c:1.3        Mon Apr 19 11:50:18 2004
+++ non-pecl/simple_cvs/simple_cvs.c    Tue Apr 20 03:30:40 2004
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: simple_cvs.c,v 1.3 2004/04/19 15:50:18 shie Exp $ */
+/* $Id: simple_cvs.c,v 1.4 2004/04/20 07:30:40 shie Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -62,7 +62,6 @@
        PHP_FE(scvs_set_cvsroot,        NULL)
        PHP_FE(scvs_set_module_name,    NULL)   
        PHP_FE(scvs_set_working_dir, NULL)
-       PHP_FE(scvs_set_cvsroot,        NULL)
        {NULL, NULL, NULL}      /* Must be the last line in simple_cvs_functions[] */
 };
 /* }}} */
@@ -417,7 +416,7 @@
    Please use the SCVS_STAT_* constants to check for statuses  */
 PHP_FUNCTION(scvs_status)
 {
-       char *un, buf[1024];
+       char *un, buf[BUFSIZE];
        int un_len;
        
        if (ZEND_NUM_ARGS() != 1 ||
@@ -435,7 +434,7 @@
        if(array_init(return_value) != SUCCESS) zend_error(E_ERROR, "unable to create 
array");
 
        /* chdir into the module dir - thereby performing the MINIMAL sanity check */
-       sprintf(buf, "%s/%s", GGET(workingDir), GGET(moduleName));
+       snprintf(buf, BUFSIZE, "%s/%s", GGET(workingDir), GGET(moduleName));
        if (chdir(buf) != 0) {
                zend_error(E_WARNING, "No module folder. please checkout first");
                return;
@@ -514,7 +513,7 @@
        }
 
        /* chdir into the module dir - thereby performing the MINIMAL sanity check */
-       sprintf(buf, "%s/%s", GGET(workingDir), GGET(moduleName));
+       snprintf(buf, BUFSIZE, "%s/%s", GGET(workingDir), GGET(moduleName));
        if (chdir(buf) != 0) {
                zend_error(E_WARNING, "No module folder. please checkout first");
                return;
@@ -543,7 +542,7 @@
        }
 
        /* chdir into the module dir - thereby performing the MINIMAL sanity check */
-       sprintf(buf, "%s/%s", GGET(workingDir), GGET(moduleName));
+       snprintf(buf, BUFSIZE, "%s/%s", GGET(workingDir), GGET(moduleName));
        if (chdir(buf) != 0) {
                zend_error(E_WARNING, "No module folder. please checkout first");
                return;
@@ -573,7 +572,7 @@
        }
 
        /* chdir into the module dir - thereby performing the MINIMAL sanity check */
-       sprintf(buf, "%s/%s", GGET(workingDir), GGET(moduleName));
+       snprintf(buf, BUFSIZE, "%s/%s", GGET(workingDir), GGET(moduleName));
        if (chdir(buf) != 0) {
                zend_error(E_WARNING, "No module folder. please checkout first");
                return;
http://cvs.php.net/diff.php/non-pecl/simple_cvs/simple_cvs_defs.h?r1=1.1&r2=1.2&ty=u
Index: non-pecl/simple_cvs/simple_cvs_defs.h
diff -u non-pecl/simple_cvs/simple_cvs_defs.h:1.1 
non-pecl/simple_cvs/simple_cvs_defs.h:1.2
--- non-pecl/simple_cvs/simple_cvs_defs.h:1.1   Wed Apr 14 12:42:41 2004
+++ non-pecl/simple_cvs/simple_cvs_defs.h       Tue Apr 20 03:30:40 2004
@@ -15,6 +15,8 @@
   | Author:                                                              |
   +----------------------------------------------------------------------+
 */
+#define BUFSIZE        1024    
+
 
 #define CVS_BINARY     "/usr/bin/cvs"
 #define CMD_CHECKOUT   "checkout"
http://cvs.php.net/diff.php/non-pecl/simple_cvs/simple_cvs_utils.c?r1=1.1&r2=1.2&ty=u
Index: non-pecl/simple_cvs/simple_cvs_utils.c
diff -u non-pecl/simple_cvs/simple_cvs_utils.c:1.1 
non-pecl/simple_cvs/simple_cvs_utils.c:1.2
--- non-pecl/simple_cvs/simple_cvs_utils.c:1.1  Wed Apr 14 12:42:41 2004
+++ non-pecl/simple_cvs/simple_cvs_utils.c      Tue Apr 20 03:30:40 2004
@@ -99,9 +99,8 @@
 
 /* perform a pserver login job, using 'pass' as password */
 int cvs_pserver_login_job(char *pass) {
-#define MAXBUF 1024    
        int pid, ret=1, status;
-       char *args[6], *buf[MAXBUF];
+       char *args[6], *buf[BUFSIZE];
        struct termios ttyconf;
        struct winsize win;
        int n, master, slave;
@@ -119,9 +118,9 @@
        /* allocate memory as needed, and create the command line */
        args[0] = CVS_BINARY;
        args[1] = emalloc(sizeof(char)*4); /* only for "-zX" */
-       sprintf(args[1], "-z%d", GGET(compressionLevel));
+       snprintf(args[1], (sizeof(char)*4),"-z%d", GGET(compressionLevel));
        args[2] = emalloc(sizeof(char)*1024); /* to be on the safe side */
-       sprintf(args[2], "-d:pserver:[EMAIL PROTECTED]:%s", GGET(userName), 
GGET(host), GGET(cvsRoot));
+       snprintf(args[2], (sizeof(char)*1024),"-d:pserver:[EMAIL PROTECTED]:%s", 
GGET(userName), GGET(host), GGET(cvsRoot));
        args[3] = CMD_LOGIN;
        args[4] = NULL;
        
@@ -154,7 +153,7 @@
                
                /* read output of CVS, look for PASSWD_PHRASE */
                while (1) {
-                       n = read(master, buf, MAXBUF); 
+                       n = read(master, buf, BUFSIZE); 
                        if (n <= 0) continue; /* skip if no data */
                        if (strstr((char*)buf, PASSWD_PHRASE) != NULL) break;
                }
@@ -162,7 +161,7 @@
                write(master, pass, strlen(pass));
                write(master, "\n", 1); /* send a newline */
        
-               while ((n=read(master,buf,MAXBUF)) > 0) {
+               while ((n=read(master,buf,BUFSIZE)) > 0) {
                if (strstr((char*)buf, "authorization failed") != NULL) {
                                ret = 0; /* so we'll return FALSE */
                                break;
@@ -241,7 +240,7 @@
 void cvs_status_job(char *relativePath, zval *retVal) {
        int pid, ret=0, status;
        ArgList *args;
-       char *tmpname, buf[1024];
+       char *tmpname, buf[BUFSIZE];
        
        /* get a temporary file */
        php_open_temporary_file(NULL, "scvs.", &tmpname);
@@ -253,8 +252,8 @@
        add_arg(args, "-c");
        
        if (relativePath != NULL)
-               sprintf(buf, "%s %s %s > %s 2>&1", CVS_BINARY, CMD_STATUS, 
relativePath, tmpname);
-       else sprintf(buf, "%s %s > %s 2>&1", CVS_BINARY, CMD_STATUS, tmpname);
+               snprintf(buf, BUFSIZE, "%s %s %s > %s 2>&1", CVS_BINARY, CMD_STATUS, 
relativePath, tmpname);
+       else snprintf(buf, BUFSIZE, "%s %s > %s 2>&1", CVS_BINARY, CMD_STATUS, 
tmpname);
        add_arg(args, buf);
        
        if ((pid = fork()) < 0) {
@@ -282,14 +281,14 @@
 static int cvs_generic_job(char *cmd, int expectedRetVal) {
        int pid, ret=0, status;
        ArgList *args;
-       char buf[1024];
+       char buf[BUFSIZE];
        
        /* create the arguments to exec */
        args = new_arg_list(10); /* initialized to NULL */
        
        add_arg(args, "/bin/sh");
        add_arg(args, "-c");
-       sprintf(buf, "%s -z%d -d:pserver:[EMAIL PROTECTED]:%s %s 2>&1", CVS_BINARY, 
GGET(compressionLevel),
+       snprintf(buf, BUFSIZE, "%s -z%d -d:pserver:[EMAIL PROTECTED]:%s %s 2>&1", 
CVS_BINARY, GGET(compressionLevel),
                        GGET(userName), GGET(host), GGET(cvsRoot), cmd);
        add_arg(args, buf);
        
@@ -311,19 +310,19 @@
 }
 
 int cvs_checkout_job() {
-       char buf[1024];
-       sprintf(buf, "%s %s", CMD_CHECKOUT, GGET(moduleName));
+       char buf[BUFSIZE];
+       snprintf(buf, BUFSIZE, "%s %s", CMD_CHECKOUT, GGET(moduleName));
        return (cvs_generic_job(buf, 0));
 }
 
 int cvs_commit_job(char *msg, char *args) {
-       char buf[1024];
+       char buf[BUFSIZE];
        if (msg == NULL) { /* for now, user must enter a message! */
                zend_error(E_WARNING, "Please enter a log message");
                return 0;
        }
-       if (args != NULL) sprintf(buf, "%s -m'%s' %s", CMD_COMMIT, msg, args);
-       else sprintf(buf, "%s -m'%s'", CMD_COMMIT, msg);
+       if (args != NULL) snprintf(buf, BUFSIZE, "%s -m'%s' %s", CMD_COMMIT, msg, 
args);
+       else snprintf(buf, BUFSIZE, "%s -m'%s'", CMD_COMMIT, msg);
        return (cvs_generic_job(buf, 0));
 }
 
@@ -401,7 +400,7 @@
 
 void cvs_diff_job(char *path, zval *retVal) {
        enum State {nostate, removing, adding, changing};       
-       char line[1025], *tmpname, *beg, *end, *tmpLine;
+       char line[BUFSIZE], *tmpname, *beg, *end, *tmpLine;
        FILE *in;
        int inHunk=0, startingLine=-1, offset=-1, tmpLineNum;
        enum State state = nostate;
@@ -418,7 +417,7 @@
        
        /* get a temporary file */
        php_open_temporary_file(NULL, "scvs.", &tmpname);
-       sprintf(line, "%s -u %s > %s", CMD_DIFF, path, tmpname);
+       snprintf(line, BUFSIZE, "%s -u %s > %s", CMD_DIFF, path, tmpname);
        /* execute the command */
        if (cvs_generic_job(line, 1 /* why the hell it retuns 1 in diff? */) == 0 ||
                (in=fopen(tmpname, "r")) == NULL) {
@@ -568,16 +567,16 @@
 }
 
 void cvs_update_job(char *path, zval *retVal) {
-       char line[1025], *tmpname;
+       char line[BUFSIZE], *tmpname;
        FILE *in;
        int status;
        
        /* get a temporary file */
        php_open_temporary_file(NULL, "scvs.", &tmpname);
        if (path) {
-               sprintf(line, "%s %s > %s", CMD_UPDATE, path, tmpname);
+               snprintf(line, BUFSIZE, "%s %s > %s", CMD_UPDATE, path, tmpname);
        } else {
-               sprintf(line, "%s > %s", CMD_UPDATE, tmpname);
+               snprintf(line, BUFSIZE, "%s > %s", CMD_UPDATE, tmpname);
        }
        /* execute the command */
        if (cvs_generic_job(line, 0) == 0 ||

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to