Synchronet now requires the libarchive development package (e.g. libarchive-dev on Debian-based Linux distros, libarchive.org for more info) to build successfully.

Commit a20ccd6b authored by deuce's avatar deuce

Only JSVAL_TO_STRING(v) if JSVAL_IS_STRING(v)... should fix crashes in

resolve callbacks.
parent 788d3b27
......@@ -3611,7 +3611,8 @@ static JSBool js_bbs_resolve(JSContext *cx, JSObject *obj, jsid id)
jsval idval;
JS_IdToValue(cx, id, &idval);
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(JSVAL_IS_STRING(idval))
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
}
return(js_SyncResolve(cx, obj, name, js_bbs_properties, js_bbs_functions, NULL, 0));
......
......@@ -137,7 +137,8 @@ static JSBool js_client_resolve(JSContext *cx, JSObject *obj, jsid id)
jsval idval;
JS_IdToValue(cx, id, &idval);
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(JSVAL_IS_STRING(idval))
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
}
return(js_SyncResolve(cx, obj, name, js_client_properties, NULL, NULL, 0));
......
......@@ -743,7 +743,8 @@ static JSBool js_com_resolve(JSContext *cx, JSObject *obj, jsid id)
jsval idval;
JS_IdToValue(cx, id, &idval);
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(JSVAL_IS_STRING(idval))
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
}
return(js_SyncResolve(cx, obj, name, js_com_properties, js_com_functions, NULL, 0));
......
......@@ -1113,7 +1113,8 @@ static JSBool js_conio_resolve(JSContext *cx, JSObject *obj, jsid id)
jsval idval;
JS_IdToValue(cx, id, &idval);
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(JSVAL_IS_STRING(idval))
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
}
return(js_SyncResolve(cx, obj, name, js_properties, js_functions, NULL, 0));
......
......@@ -1876,7 +1876,8 @@ static JSBool js_console_resolve(JSContext *cx, JSObject *obj, jsid id)
jsval idval;
JS_IdToValue(cx, id, &idval);
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(JSVAL_IS_STRING(idval))
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
}
return(js_SyncResolve(cx, obj, name, js_console_properties, js_console_functions, NULL, 0));
......
......@@ -2394,7 +2394,8 @@ static JSBool js_file_resolve(JSContext *cx, JSObject *obj, jsid id)
jsval idval;
JS_IdToValue(cx, id, &idval);
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(JSVAL_IS_STRING(idval))
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
}
return(js_SyncResolve(cx, obj, name, js_file_properties, js_file_functions, NULL, 0));
......
......@@ -3830,7 +3830,8 @@ static JSBool js_global_resolve(JSContext *cx, JSObject *obj, jsid id)
jsval idval;
JS_IdToValue(cx, id, &idval);
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(JSVAL_IS_STRING(idval))
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
}
if(p->methods) {
......
......@@ -426,7 +426,8 @@ static JSBool js_internal_resolve(JSContext *cx, JSObject *obj, jsid id)
jsval idval;
JS_IdToValue(cx, id, &idval);
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(JSVAL_IS_STRING(idval))
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
}
return(js_SyncResolve(cx, obj, name, js_properties, js_functions, NULL, 0));
......
......@@ -950,7 +950,8 @@ static JSBool js_get_msg_header_resolve(JSContext *cx, JSObject *obj, jsid id)
jsval idval;
JS_IdToValue(cx, id, &idval);
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(JSVAL_IS_STRING(idval))
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
}
/* If we have already enumerated, we're done here... */
......@@ -2118,7 +2119,8 @@ static JSBool js_msgbase_resolve(JSContext *cx, JSObject *obj, jsid id)
jsval idval;
JS_IdToValue(cx, id, &idval);
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(JSVAL_IS_STRING(idval))
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
}
return(js_SyncResolve(cx, obj, name, js_msgbase_properties, js_msgbase_functions, NULL, 0));
......
......@@ -379,7 +379,8 @@ static JSBool js_queue_resolve(JSContext *cx, JSObject *obj, jsid id)
jsval idval;
JS_IdToValue(cx, id, &idval);
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(JSVAL_IS_STRING(jdval))
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
}
return(js_SyncResolve(cx, obj, name, js_queue_properties, js_queue_functions, NULL, 0));
......
......@@ -148,7 +148,8 @@ static JSBool js_server_resolve(JSContext *cx, JSObject *obj, jsid id)
jsval idval;
JS_IdToValue(cx, id, &idval);
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(JSVAL_IS_STRING(idval))
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
}
return(js_SyncResolve(cx, obj, name, js_server_properties, NULL, NULL, 0));
......
......@@ -1527,7 +1527,8 @@ static JSBool js_socket_resolve(JSContext *cx, JSObject *obj, jsid id)
jsval idval;
JS_IdToValue(cx, id, &idval);
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(JSVAL_IS_STRING(idval))
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
}
return(js_SyncResolve(cx, obj, name, js_socket_properties, js_socket_functions, NULL, 0));
......
......@@ -698,7 +698,8 @@ static JSBool js_sysstats_resolve(JSContext *cx, JSObject *obj, jsid id)
jsval idval;
JS_IdToValue(cx, id, &idval);
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(JSVAL_IS_STRING(idval))
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
}
return(js_SyncResolve(cx, obj, name, js_sysstats_properties, NULL, NULL, 0));
......@@ -1920,7 +1921,8 @@ static JSBool js_node_resolve(JSContext *cx, JSObject *obj, jsid id)
jsval idval;
JS_IdToValue(cx, id, &idval);
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(JSVAL_IS_STRING(idval))
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
}
return(js_SyncResolve(cx, obj, name, js_node_properties, NULL, NULL, 0));
......@@ -1995,7 +1997,8 @@ static JSBool js_system_resolve(JSContext *cx, JSObject *obj, jsid id)
jsval idval;
JS_IdToValue(cx, id, &idval);
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(JSVAL_IS_STRING(idval))
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
}
/****************************/
......
......@@ -546,7 +546,8 @@ static JSBool js_uifc_resolve(JSContext *cx, JSObject *obj, jsid id)
jsval idval;
JS_IdToValue(cx, id, &idval);
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(JSVAL_IS_STRING(idval))
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
}
return(js_SyncResolve(cx, obj, name, js_properties, js_functions, NULL, 0));
......
......@@ -1180,7 +1180,8 @@ static JSBool js_user_stats_resolve(JSContext *cx, JSObject *obj, jsid id)
jsval idval;
JS_IdToValue(cx, id, &idval);
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(JSVAL_IS_STRING(idval))
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
}
return(js_SyncResolve(cx, obj, name, js_user_stats_properties, NULL, NULL, 0));
......@@ -1199,7 +1200,8 @@ static JSBool js_user_security_resolve(JSContext *cx, JSObject *obj, jsid id)
jsval idval;
JS_IdToValue(cx, id, &idval);
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(JSVAL_IS_STRING(idval))
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
}
return(js_SyncResolve(cx, obj, name, js_user_security_properties, NULL, NULL, 0));
......@@ -1218,7 +1220,8 @@ static JSBool js_user_limits_resolve(JSContext *cx, JSObject *obj, jsid id)
jsval idval;
JS_IdToValue(cx, id, &idval);
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(JSVAL_IS_STRING(idval))
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
}
return(js_SyncResolve(cx, obj, name, js_user_limits_properties, NULL, NULL, 0));
......@@ -1281,7 +1284,8 @@ static JSBool js_user_resolve(JSContext *cx, JSObject *obj, jsid id)
jsval idval;
JS_IdToValue(cx, id, &idval);
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(JSVAL_IS_STRING(idval))
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
}
if(name==NULL || strcmp(name, "stats")==0) {
......
......@@ -899,8 +899,6 @@ long js_exec(const char *fname, char** args)
,path
,diff);
JS_GC(js_cx);
if(js_buf!=NULL)
free(js_buf);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment