]> granicus.if.org Git - php/commitdiff
Added sanity checks.
authorIlia Alshanetsky <iliaa@php.net>
Wed, 29 Jan 2003 19:33:38 +0000 (19:33 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Wed, 29 Jan 2003 19:33:38 +0000 (19:33 +0000)
ext/informix/ifx.ec

index b5f8ae8b53bd7276fa4ebe4b7b20795486845c44..6189949c72d6b6b1d7266f159d6cff6f0d560800 100644 (file)
@@ -111,6 +111,7 @@ EXEC SQL include sqlstype;
 #include <errno.h>
 
 typedef char IFX[128];
+#define SAFE_STRING(s) ((s)?(s):"")
 #define PHP_IFX_CHECK_CONNECTION(ifx)       \
         {                                   \
             if (ifx_check() < 0) {          \
@@ -451,7 +452,7 @@ EXEC SQL END DECLARE SECTION;
 
                hashed_details_length = sizeof("ifx___") - 1 + host_len + user_len + passwd_len;
                hashed_details = (char *) emalloc(hashed_details_length+1);
-               sprintf(hashed_details,"ifx_%s_%s_%s", host, user, passwd);
+               sprintf(hashed_details,"ifx_%s_%s_%s", SAFE_STRING(host), SAFE_STRING(user), SAFE_STRING(passwd));
        }
 
        IFXG(sv_sqlcode) = 0;
@@ -480,7 +481,7 @@ EXEC SQL END DECLARE SECTION;
                        /* create the link */
                        ifx = (char *) malloc(sizeof(IFX));
                        IFXG(connectionid)++;
-                       sprintf(ifx,"%s%x", user, IFXG(connectionid));
+                       sprintf(ifx,"%s%x", SAFE_STRING(user), IFXG(connectionid));
                        
                        EXEC SQL CONNECT TO :host AS :ifx USER :user USING :passwd WITH CONCURRENT TRANSACTION;