From: Matthew Mondor Date: Fri, 27 Oct 2006 06:09:44 +0000 (+0000) Subject: Bugfixes X-Git-Tag: pgsql-branch-merge~94 X-Git-Url: http://git.pulsar-zone.net/?a=commitdiff_plain;h=bfd67add15a75be921caa20973e895d6b5ccc733;p=mmondor.git Bugfixes --- diff --git a/mmsoftware/js/classes/js_pgsql.c b/mmsoftware/js/classes/js_pgsql.c index c09f584..57f151d 100644 --- a/mmsoftware/js/classes/js_pgsql.c +++ b/mmsoftware/js/classes/js_pgsql.c @@ -1,4 +1,4 @@ -/* $Id: js_pgsql.c,v 1.11 2006/10/19 06:08:12 mmondor Exp $ */ +/* $Id: js_pgsql.c,v 1.12 2006/10/27 06:09:44 mmondor Exp $ */ /* * Copyright (c) 2006, Matthew Mondor @@ -886,7 +886,8 @@ static JSBool pg_sm_PQresStatus(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { - char *res; + char *res; + JSString *str; if (argc != 1) { QUEUE_EXCEPTION("Wrong number of arguments"); @@ -898,7 +899,11 @@ pg_sm_PQresStatus(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, } res = PQresStatus(JSVAL_TO_INT(argv[0])); - *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, res)); + if ((str = JS_NewStringCopyZ(cx, res)) == NULL) { + QUEUE_EXCEPTION("Internal error!"); + goto err; + } + *rval = STRING_TO_JSVAL(str); return JS_TRUE; @@ -1123,8 +1128,9 @@ static JSBool pgconn_m_PQdb(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { - PGconn *pgc; - char *str; + PGconn *pgc; + char *str; + JSString *jstr; if (argc != 0) { QUEUE_EXCEPTION("Function allows no arguments"); @@ -1136,7 +1142,12 @@ pgconn_m_PQdb(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, assert(pgc != NULL); str = PQdb(pgc); - *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, str)); + if ((jstr = JS_NewStringCopyZ(cx, str)) == NULL) { + QUEUE_EXCEPTION("Internal error!"); + *rval = OBJECT_TO_JSVAL(NULL); + return JS_FALSE; + } + *rval = STRING_TO_JSVAL(jstr); return JS_TRUE; } @@ -1145,8 +1156,9 @@ static JSBool pgconn_m_PQuser(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { - PGconn *pgc; - char *str; + PGconn *pgc; + char *str; + JSString *jstr; if (argc != 0) { QUEUE_EXCEPTION("Function allows no arguments"); @@ -1158,7 +1170,12 @@ pgconn_m_PQuser(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, assert(pgc != NULL); str = PQuser(pgc); - *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, str)); + if ((jstr = JS_NewStringCopyZ(cx, str)) == NULL) { + QUEUE_EXCEPTION("Internal error!"); + *rval = OBJECT_TO_JSVAL(NULL); + return JS_FALSE; + } + *rval = STRING_TO_JSVAL(jstr); return JS_TRUE; } @@ -1167,8 +1184,9 @@ static JSBool pgconn_m_PQpass(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { - PGconn *pgc; - char *str; + PGconn *pgc; + char *str; + JSString *jstr; if (argc != 0) { QUEUE_EXCEPTION("Function allows no arguments"); @@ -1180,7 +1198,12 @@ pgconn_m_PQpass(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, assert(pgc != NULL); str = PQpass(pgc); - *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, str)); + if ((jstr = JS_NewStringCopyZ(cx, str)) == NULL) { + QUEUE_EXCEPTION("Internal error!"); + *rval = OBJECT_TO_JSVAL(NULL); + return JS_FALSE; + } + *rval = STRING_TO_JSVAL(jstr); return JS_TRUE; } @@ -1189,8 +1212,9 @@ static JSBool pgconn_m_PQhost(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { - PGconn *pgc; - char *str; + PGconn *pgc; + char *str; + JSString *jstr; if (argc != 0) { QUEUE_EXCEPTION("Function allows no arguments"); @@ -1202,7 +1226,12 @@ pgconn_m_PQhost(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, assert(pgc != NULL); str = PQhost(pgc); - *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, str)); + if ((jstr = JS_NewStringCopyZ(cx, str)) == NULL) { + QUEUE_EXCEPTION("Internal error!"); + *rval = OBJECT_TO_JSVAL(NULL); + return JS_FALSE; + } + *rval = STRING_TO_JSVAL(jstr); return JS_TRUE; } @@ -1211,8 +1240,9 @@ static JSBool pgconn_m_PQport(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { - PGconn *pgc; - char *str; + PGconn *pgc; + char *str; + JSString *jstr; if (argc != 0) { QUEUE_EXCEPTION("Function allows no arguments"); @@ -1224,7 +1254,12 @@ pgconn_m_PQport(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, assert(pgc != NULL); str = PQport(pgc); - *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, str)); + if ((jstr = JS_NewStringCopyZ(cx, str)) == NULL) { + QUEUE_EXCEPTION("Internal error!"); + *rval = OBJECT_TO_JSVAL(NULL); + return JS_FALSE; + } + *rval = STRING_TO_JSVAL(jstr); return JS_TRUE; } @@ -1233,8 +1268,9 @@ static JSBool pgconn_m_PQtty(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { - PGconn *pgc; - char *str; + PGconn *pgc; + char *str; + JSString *jstr; if (argc != 0) { QUEUE_EXCEPTION("Function allows no arguments"); @@ -1246,7 +1282,12 @@ pgconn_m_PQtty(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, assert(pgc != NULL); str = PQtty(pgc); - *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, str)); + if ((jstr = JS_NewStringCopyZ(cx, str)) == NULL) { + QUEUE_EXCEPTION("Internal error!"); + *rval = OBJECT_TO_JSVAL(NULL); + return JS_FALSE; + } + *rval = STRING_TO_JSVAL(jstr); return JS_TRUE; } @@ -1255,8 +1296,9 @@ static JSBool pgconn_m_PQoptions(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { - PGconn *pgc; - char *str; + PGconn *pgc; + char *str; + JSString *jstr; if (argc != 0) { QUEUE_EXCEPTION("Function allows no arguments"); @@ -1268,7 +1310,12 @@ pgconn_m_PQoptions(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, assert(pgc != NULL); str = PQoptions(pgc); - *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, str)); + if ((jstr = JS_NewStringCopyZ(cx, str)) == NULL) { + QUEUE_EXCEPTION("Internal error!"); + *rval = OBJECT_TO_JSVAL(NULL); + return JS_FALSE; + } + *rval = STRING_TO_JSVAL(jstr); return JS_TRUE; } @@ -1340,8 +1387,15 @@ pgconn_m_PQparameterStatus(JSContext *cx, JSObject *obj, uintN argc, pgc = JS_GetInstancePrivate(cx, obj, &pgconn_class, NULL); assert(pgc != NULL); - if ((str = PQparameterStatus(pgc, param)) != NULL) - *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, str)); + if ((str = PQparameterStatus(pgc, param)) != NULL) { + JSString *jstr; + + if ((jstr = JS_NewStringCopyZ(cx, str)) == NULL) { + QUEUE_EXCEPTION("Internal error!"); + return JS_FALSE; + } + *rval = STRING_TO_JSVAL(jstr); + } return JS_TRUE; } @@ -1394,8 +1448,9 @@ static JSBool pgconn_m_PQerrorMessage(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { - PGconn *pgc; - char *str; + PGconn *pgc; + char *str; + JSString *jstr; if (argc != 0) { QUEUE_EXCEPTION("Function allows no arguments"); @@ -1407,7 +1462,12 @@ pgconn_m_PQerrorMessage(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, assert(pgc != NULL); str = PQerrorMessage(pgc); - *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, str)); + if ((jstr = JS_NewStringCopyZ(cx, str)) == NULL) { + QUEUE_EXCEPTION("Internal error!"); + *rval = OBJECT_TO_JSVAL(NULL); + return JS_FALSE; + } + *rval = STRING_TO_JSVAL(jstr); return JS_TRUE; } @@ -3469,7 +3529,7 @@ pgconn_m_lo_read(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, goto err; } - if ((str = JS_NewStringCopyN(cx, buffer, (size_t)size)) == NULL) { + if ((str = JS_NewStringCopyN(cx, buffer, (size_t)ret)) == NULL) { QUEUE_EXCEPTION("Out of memory!"); goto err; } @@ -3665,9 +3725,10 @@ pgresult_m_PQclear(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, { PGresult *pgr; + *rval = OBJECT_TO_JSVAL(NULL); + if (argc != 0) { QUEUE_EXCEPTION("Function allows no arguments"); - *rval = OBJECT_TO_JSVAL(NULL); return JS_FALSE; } @@ -3681,8 +3742,6 @@ pgresult_m_PQclear(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, js_map_remove(omap); } - *rval = OBJECT_TO_JSVAL(NULL); - return JS_TRUE; } @@ -3714,6 +3773,7 @@ pgresult_m_PQresultErrorMessage(JSContext *cx, JSObject *obj, uintN argc, { PGresult *pgr; char *res; + JSString *str; if (argc != 0) { QUEUE_EXCEPTION("Function allows no arguments"); @@ -3725,7 +3785,12 @@ pgresult_m_PQresultErrorMessage(JSContext *cx, JSObject *obj, uintN argc, assert(pgr != NULL); res = PQresultErrorMessage(pgr); - *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, res)); + if ((str = JS_NewStringCopyZ(cx, res)) == NULL) { + QUEUE_EXCEPTION("Internal error!"); + *rval = OBJECT_TO_JSVAL(NULL); + return JS_FALSE; + } + *rval = STRING_TO_JSVAL(str); return JS_TRUE; } @@ -3736,6 +3801,7 @@ pgresult_m_PQresultErrorField(JSContext *cx, JSObject *obj, uintN argc, { PGresult *pgr; char *res; + JSString *str; if (argc != 1) { QUEUE_EXCEPTION("Wrong number of arguments"); @@ -3750,7 +3816,12 @@ pgresult_m_PQresultErrorField(JSContext *cx, JSObject *obj, uintN argc, assert(pgr != NULL); res = PQresultErrorField(pgr, JSVAL_TO_INT(argv[0])); - *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, res)); + if ((str = JS_NewStringCopyZ(cx, res)) == NULL) { + QUEUE_EXCEPTION("Internal error!"); + *rval = OBJECT_TO_JSVAL(NULL); + return JS_FALSE; + } + *rval = STRING_TO_JSVAL(str); return JS_TRUE; @@ -3810,6 +3881,7 @@ pgresult_m_PQfname(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, { PGresult *pgr; char *res; + JSString *str; if (argc != 1) { QUEUE_EXCEPTION("Wrong number of arguments"); @@ -3824,7 +3896,11 @@ pgresult_m_PQfname(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, assert(pgr != NULL); res = PQfname(pgr, JSVAL_TO_INT(argv[0])); - *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, res)); + if ((str = JS_NewStringCopyZ(cx, res)) == NULL) { + QUEUE_EXCEPTION("Internal error!"); + goto err; + } + *rval = STRING_TO_JSVAL(str); return JS_TRUE; @@ -4159,6 +4235,7 @@ pgresult_m_PQgetisnull(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { PGresult *pgr; + JSBool v; if (argc != 2) { QUEUE_EXCEPTION("Wrong number of arguments"); @@ -4176,8 +4253,8 @@ pgresult_m_PQgetisnull(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, pgr = JS_GetInstancePrivate(cx, obj, &pgresult_class, NULL); assert(pgr != NULL); - *rval = BOOLEAN_TO_JSVAL(PQgetisnull(pgr, JSVAL_TO_INT(argv[0]), - JSVAL_TO_INT(argv[1]))); + v = PQgetisnull(pgr, JSVAL_TO_INT(argv[0]), JSVAL_TO_INT(argv[1])); + *rval = BOOLEAN_TO_JSVAL(v); return JS_TRUE; @@ -4226,6 +4303,7 @@ pgresult_m_PQcmdStatus(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { PGresult *pgr; + JSString *str; if (argc != 0) { QUEUE_EXCEPTION("Function allows no arguments"); @@ -4236,7 +4314,12 @@ pgresult_m_PQcmdStatus(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, pgr = JS_GetInstancePrivate(cx, obj, &pgresult_class, NULL); assert(pgr != NULL); - *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, PQcmdStatus(pgr))); + if ((str = JS_NewStringCopyZ(cx, PQcmdStatus(pgr))) == NULL) { + QUEUE_EXCEPTION("Internal error!"); + *rval = OBJECT_TO_JSVAL(NULL); + return JS_FALSE; + } + *rval = STRING_TO_JSVAL(str); return JS_TRUE; } @@ -4249,6 +4332,7 @@ pgresult_m_PQcmdTuples(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { PGresult *pgr; + JSString *str; if (argc != 0) { QUEUE_EXCEPTION("Function allows no arguments"); @@ -4259,7 +4343,12 @@ pgresult_m_PQcmdTuples(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, pgr = JS_GetInstancePrivate(cx, obj, &pgresult_class, NULL); assert(pgr != NULL); - *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, PQcmdTuples(pgr))); + if ((str = JS_NewStringCopyZ(cx, PQcmdTuples(pgr))) == NULL) { + QUEUE_EXCEPTION("Internal error!"); + *rval = OBJECT_TO_JSVAL(NULL); + return JS_FALSE; + } + *rval = STRING_TO_JSVAL(str); return JS_TRUE; } @@ -4522,9 +4611,10 @@ pgcancel_m_PQfreeCancel(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, { PGcancel *pgc; + *rval = OBJECT_TO_JSVAL(NULL); + if (argc != 0) { QUEUE_EXCEPTION("Function allows no arguments"); - *rval = OBJECT_TO_JSVAL(NULL); return JS_FALSE; } @@ -4534,7 +4624,6 @@ pgcancel_m_PQfreeCancel(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, (void) JS_SetPrivate(cx, obj, NULL); } - *rval = OBJECT_TO_JSVAL(NULL); return JS_TRUE; }