diff options
Diffstat (limited to 'net/ser/files/patch-modules__postgres__db_val.c')
| -rw-r--r-- | net/ser/files/patch-modules__postgres__db_val.c | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/net/ser/files/patch-modules__postgres__db_val.c b/net/ser/files/patch-modules__postgres__db_val.c new file mode 100644 index 000000000000..5cbb27866ac7 --- /dev/null +++ b/net/ser/files/patch-modules__postgres__db_val.c @@ -0,0 +1,77 @@ +diff -ruN modules/postgres/db_val.c /home/snar/ser-0.9.7/modules/postgres/db_val.c +--- modules/postgres/db_val.c 2005-07-20 21:11:52.000000000 +0400 ++++ modules/postgres/db_val.c 2006-10-25 23:32:10.000000000 +0400 +@@ -166,12 +166,14 @@ + return 0; + } + ++ + /* + * Does not copy strings + */ + int str2valp(db_type_t _t, db_val_t* _v, const char* _s, int _l, void *_p) + { +- char dbuf[256]; ++#define DBUF_SIZE 256 ++ char dbuf[DBUF_SIZE]; + #ifdef PARANOID + if (!_v) { + LOG(L_ERR, "str2valp(): Invalid parameter value\n"); +@@ -185,11 +187,12 @@ + VAL_NULL(_v) = 1; + return 0; + } +- ++ VAL_NULL(_v) = 0; ++ + switch(_t) { + case DB_INT: + case DB_BITMAP: +- sprintf(dbuf, "got int %s", _s); ++ snprintf(dbuf, DBUF_SIZE, "got int %s", _s); + DLOG("str2valp", dbuf); + if (str2int(_s, &VAL_INT(_v)) < 0) { + LOG(L_ERR, "str2valp(): Error while converting integer value from string\n"); +@@ -201,7 +204,7 @@ + break; + + case DB_DOUBLE: +- sprintf(dbuf, "got double %s", _s); ++ snprintf(dbuf, DBUF_SIZE, "got double %s", _s); + DLOG("str2valp", dbuf); + if (str2double(_s, &VAL_DOUBLE(_v)) < 0) { + LOG(L_ERR, "str2valp(): Error while converting double value from string\n"); +@@ -213,7 +216,7 @@ + break; + + case DB_STRING: +- sprintf(dbuf, "got string %s", _s); ++ snprintf(dbuf, DBUF_SIZE, "got string %s", _s); + DLOG("str2valp", dbuf); + + VAL_STRING(_v) = aug_strdup(_s, _p); +@@ -228,13 +231,13 @@ + VAL_STR(_v).len = _l; + VAL_TYPE(_v) = DB_STR; + +- sprintf(dbuf, "got len string %d %s", _l, _s); ++ snprintf(dbuf, DBUF_SIZE, "got len string %d %s", _l, _s); + DLOG("str2valp", dbuf); + + return 0; + + case DB_DATETIME: +- sprintf(dbuf, "got time %s", _s); ++ snprintf(dbuf, DBUF_SIZE, "got time %s", _s); + DLOG("str2valp", dbuf); + if (str2time(_s, &VAL_TIME(_v)) < 0) { + PLOG("str2valp", "error converting datetime"); +@@ -253,7 +256,7 @@ + VAL_STR(_v).len = _l; + VAL_TYPE(_v) = DB_BLOB; + +- sprintf(dbuf, "got blob %d", _l); ++ snprintf(dbuf, DBUF_SIZE, "got blob %d", _l); + DLOG("str2valp", dbuf); + + return 0; |
