Bugfixes
authorMatthew Mondor <mmondor@pulsar-zone.net>
Fri, 27 Oct 2006 05:41:30 +0000 (05:41 +0000)
committerMatthew Mondor <mmondor@pulsar-zone.net>
Fri, 27 Oct 2006 05:41:30 +0000 (05:41 +0000)
mmsoftware/js/classes/js_dir.c
mmsoftware/js/classes/js_fs.c

index 3826314..8e80cc3 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: js_dir.c,v 1.6 2006/10/21 05:44:45 mmondor Exp $ */
+/* $Id: js_dir.c,v 1.7 2006/10/27 05:38:50 mmondor Exp $ */
 
 /*
  * Copyright (c) 2006, Matthew Mondor
@@ -152,13 +152,12 @@ dir_constructor(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
                QUEUE_EXCEPTION("Wrong number of arguments");
                goto err;
        }
-       if (!JSVAL_IS_STRING(argv[0])) {
+       if (!JSVAL_IS_STRING(argv[0]) ||
+           ((path = JS_GetStringBytes(JSVAL_TO_STRING(argv[0])))) == NULL) {
                QUEUE_EXCEPTION("Argument not a string");
                goto err;
        }
 
-       path = JS_GetStringBytes(JSVAL_TO_STRING(argv[0]));
-
        if (dir_path_allow(path) == -1) {
                char    str[1024];
 
@@ -341,6 +340,7 @@ static JSBool
 dir_m_close(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
 {
        DIR     *dir;
+       int     v;
 
        if (argc != 0) {
                QUEUE_EXCEPTION("Function allows no arguments");
@@ -351,7 +351,8 @@ dir_m_close(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
        dir = JS_GetInstancePrivate(cx, obj, &dir_class, NULL);
        assert(dir != NULL);
 
-       *rval = INT_TO_JSVAL(closedir(dir));
+       v = closedir(dir);
+       *rval = INT_TO_JSVAL(v);
        (void) JS_SetPrivate(cx, obj, NULL);
 
        return JS_TRUE;
index e8c7fad..8e46534 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: js_fs.c,v 1.2 2006/10/21 05:44:46 mmondor Exp $ */
+/* $Id: js_fs.c,v 1.3 2006/10/27 05:41:30 mmondor Exp $ */
 
 /*
  * Copyright (c) 2006, Matthew Mondor
@@ -183,6 +183,7 @@ fs_sm_getcwd(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
     jsval *rval)
 {
        static char     cwd[MAXPATHLEN];
+       JSString        *str;
 
        *rval = OBJECT_TO_JSVAL(NULL);
 
@@ -196,7 +197,11 @@ fs_sm_getcwd(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
                return JS_FALSE;
        }
 
-       *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, cwd));
+       if ((str = JS_NewStringCopyZ(cx, cwd)) == NULL) {
+               QUEUE_EXCEPTION("Internal error!");
+               return JS_FALSE;
+       }
+       *rval = STRING_TO_JSVAL(str);
 
        return JS_TRUE;
 }