Alex, I'll sponsor the push, but please:
1. fix realloc issue as it suggested by Dan and me. 2. prepare a webrev (I'll put it under my ojdk account to /sponsorship/alexhenrie) -Dmitry On 2015-12-15 23:43, Alex Henrie wrote: > # HG changeset patch > # User Alex Henrie <alexhenri...@gmail.com> > # Date 1447827030 25200 > # Tue Nov 17 23:10:30 2015 -0700 > # Node ID 6dca8affef8a4566dfaa36faeb7a14fc4086843a > # Parent dc90094c0d66b3df2944da215d93542507c31e60 > Skip the null pointer check before calling realloc. > > "If ptr is a null pointer, realloc() shall be equivalent to malloc() for > the specified size." > http://pubs.opengroup.org/onlinepubs/9699919799/functions/realloc.html > > Also, sizeof(char*) is more correct here than sizeof(char**), although > in practice it doesn't make a difference. > > diff --git > a/src/java.instrument/share/native/libinstrument/InvocationAdapter.c > b/src/java.instrument/share/native/libinstrument/InvocationAdapter.c > --- a/src/java.instrument/share/native/libinstrument/InvocationAdapter.c > +++ b/src/java.instrument/share/native/libinstrument/InvocationAdapter.c > @@ -519,21 +519,17 @@ splitPathList(const char* str, int* path > int count = 0; > char** segments = NULL; > char* c = (char*) str; > while (*c != '\0') { > while (*c == ' ') c++; /* skip leading spaces */ > if (*c == '\0') { > break; > } > - if (segments == NULL) { > - segments = (char**)malloc( sizeof(char**) ); > - } else { > - segments = (char**)realloc( segments, (count+1)*sizeof(char**) ); > - } > + segments = (char**)realloc( segments, (count+1)*sizeof(char*) ); > jplis_assert(segments != (char**)NULL); > segments[count++] = c; > c = strchr(c, ' '); > if (c == NULL) { > break; > } > *c = '\0'; > c++; > -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * I would love to change the world, but they won't give me the sources.