Welcome! Log In Create A New Profile

Advanced

[njs] Fixed fuzzer build after 9b3dac56fd8a.

Dmitry Volyntsev
January 25, 2024 06:02PM
details: https://hg.nginx.org/njs/rev/6770c015efdc
branches:
changeset: 2273:6770c015efdc
user: Dmitry Volyntsev <xeioex@nginx.com>
date: Thu Jan 25 14:48:05 2024 -0800
description:
Fixed fuzzer build after 9b3dac56fd8a.

diffstat:

external/njs_shell.c | 60 +++++++++++++++++++++++----------------------------
1 files changed, 27 insertions(+), 33 deletions(-)

diffs (120 lines):

diff -r 9b3dac56fd8a -r 6770c015efdc external/njs_shell.c
--- a/external/njs_shell.c Tue Jan 23 16:34:10 2024 -0800
+++ b/external/njs_shell.c Thu Jan 25 14:48:05 2024 -0800
@@ -137,8 +137,7 @@ static njs_int_t njs_process_script(njs_
#ifndef NJS_FUZZER_TARGET

static njs_int_t njs_options_parse(njs_opts_t *opts, int argc, char **argv);
-static njs_int_t njs_options_add_path(njs_opts_t *opts, u_char *path,
- size_t len);
+static njs_int_t njs_options_add_path(njs_opts_t *opts, char *path, size_t len);
static void njs_options_free(njs_opts_t *opts);

#ifdef NJS_HAVE_READLINE
@@ -400,7 +399,8 @@ done:
static njs_int_t
njs_options_parse(njs_opts_t *opts, int argc, char **argv)
{
- char *p;
+ char *p, *start;
+ size_t len;
njs_int_t i, ret;
njs_uint_t n;

@@ -447,6 +447,27 @@ njs_options_parse(njs_opts_t *opts, int
opts->exit_code = atoi(p);
}

+ start = getenv("NJS_PATH");
+ if (start != NULL) {
+ for ( ;; ) {
+ p = (char *) njs_strchr(start, ':');
+
+ len = (p != NULL) ? (size_t) (p - start) : njs_strlen(start);
+
+ ret = njs_options_add_path(opts, start, len);
+ if (ret != NJS_OK) {
+ njs_stderror("failed to add path\n");
+ return NJS_ERROR;
+ }
+
+ if (p == NULL) {
+ break;
+ }
+
+ start = p + 1;
+ }
+ }
+
for (i = 1; i < argc; i++) {

p = argv[i];
@@ -526,8 +547,7 @@ njs_options_parse(njs_opts_t *opts, int

case 'p':
if (++i < argc) {
- ret = njs_options_add_path(opts, (u_char *) argv[i],
- njs_strlen(argv[i]));
+ ret = njs_options_add_path(opts, argv[i], njs_strlen(argv[i]));
if (ret != NJS_OK) {
njs_stderror("failed to add path\n");
return NJS_ERROR;
@@ -604,7 +624,7 @@ done:


static njs_int_t
-njs_options_add_path(njs_opts_t *opts, u_char *path, size_t len)
+njs_options_add_path(njs_opts_t *opts, char *path, size_t len)
{
njs_str_t *paths;

@@ -617,7 +637,7 @@ njs_options_add_path(njs_opts_t *opts, u
}

opts->paths = paths;
- opts->paths[opts->n_paths - 1].start = path;
+ opts->paths[opts->n_paths - 1].start = (u_char *) path;
opts->paths[opts->n_paths - 1].length = len;

return NJS_OK;
@@ -1004,10 +1024,7 @@ njs_module_loader(njs_vm_t *vm, njs_exte
static njs_vm_t *
njs_create_vm(njs_opts_t *opts)
{
- size_t len;
- u_char *p, *start;
njs_vm_t *vm;
- njs_int_t ret;
njs_vm_opt_t vm_options;

njs_vm_opt_init(&vm_options);
@@ -1053,29 +1070,6 @@ njs_create_vm(njs_opts_t *opts)

njs_vm_set_module_loader(vm, njs_module_loader, opts);

- start = (u_char *) getenv("NJS_PATH");
- if (start == NULL) {
- return vm;
- }
-
- for ( ;; ) {
- p = njs_strchr(start, ':');
-
- len = (p != NULL) ? (size_t) (p - start) : njs_strlen(start);
-
- ret = njs_options_add_path(opts, start, len);
- if (ret != NJS_OK) {
- njs_stderror("failed to add path\n");
- return NULL;
- }
-
- if (p == NULL) {
- break;
- }
-
- start = p + 1;
- }
-
return vm;
}

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
https://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[njs] Fixed fuzzer build after 9b3dac56fd8a.

Dmitry Volyntsev 118 January 25, 2024 06:02PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 109
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready