I don't see why we'd want to abandon loading the library rather than
just ignoring the
match failure, just as if the variable was unspecified.
-phil.
On 1/21/20 9:00 AM, Baesken, Matthias wrote:
Hello, I noticed that we miss a check of the sscanf return code in
awt_ImagingLib.c , should we add a check like we do at almost all
other places of sscanf calls ?
(like the code below )
Thanks, Matthias
diff -r 3ca4a8016584
src/java.desktop/share/native/libawt/awt/medialib/awt_ImagingLib.c
---
a/src/java.desktop/share/native/libawt/awt/medialib/awt_ImagingLib.c
Thu Jan 16 18:04:23 2020 +0100
+++
b/src/java.desktop/share/native/libawt/awt/medialib/awt_ImagingLib.c
Tue Jan 21 10:31:34 2020 +0100
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights
reserved.
+ * Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights
reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -1771,6 +1771,7 @@
JNIEXPORT jboolean JNICALL
Java_sun_awt_image_ImagingLib_init(JNIEnv *env, jclass thisClass) {
char *start;
+ int srs = 0;
if (getenv("IMLIB_DEBUG")) {
start_timer = awt_setMlibStartTimer();
stop_timer = awt_setMlibStopTimer();
@@ -1783,7 +1784,12 @@
s_printIt = 1;
}
if ((start = getenv("IMLIB_START")) != NULL) {
- sscanf(start, "%d", &s_startOff);
+ srs = sscanf(start, "%d", &s_startOff);
+ if (srs != 1) {
+ s_nomlib = 1;
+ fprintf(stderr, "Failure - reading from IMLIB_START failed.\n");
+ return JNI_FALSE;
+ }
}