[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/master] Stop crashing when a NULL filename is passed to file_status()
commit ce7fd6e160e2e3acb824b29e29afe15cd5e7bf4f
Author: teor <teor2345@xxxxxxxxx>
Date: Sat Nov 8 20:03:21 2014 +1100
Stop crashing when a NULL filename is passed to file_status()
Stop crashing when a NULL filename is passed to file_status(),
instead, return FN_ERROR.
Also return FN_ERROR when a zero-length filename is passed to file_status().
Fixed as part of bug 13111.
---
changes/bug13111-generate-keys-on-empty-file | 7 +++++++
src/common/util.c | 6 +++++-
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/changes/bug13111-generate-keys-on-empty-file b/changes/bug13111-generate-keys-on-empty-file
new file mode 100644
index 0000000..f6a56ef
--- /dev/null
+++ b/changes/bug13111-generate-keys-on-empty-file
@@ -0,0 +1,7 @@
+ o Minor bugfixes
+ - Stop crashing when a NULL filename is passed to file_status().
+ Fixed as part of bug 13111.
+
+ o Minor enhancements:
+ - Return FN_ERROR when a zero-length filename is passed to file_status().
+ Fixed as part of bug 13111.
diff --git a/src/common/util.c b/src/common/util.c
index 2371ad3..e850b14 100644
--- a/src/common/util.c
+++ b/src/common/util.c
@@ -1888,7 +1888,8 @@ clean_name_for_stat(char *name)
#endif
}
-/** Return FN_ERROR if filename can't be read, FN_NOENT if it doesn't
+/** Return FN_ERROR if filename can't be read, or is NULL or zero-length,
+ * FN_NOENT if it doesn't
* exist, FN_FILE if it is a regular file, or FN_DIR if it's a
* directory. On FN_ERROR, sets errno. */
file_status_t
@@ -1897,6 +1898,9 @@ file_status(const char *fname)
struct stat st;
char *f;
int r;
+ if (!fname || strlen(fname) == 0) {
+ return FN_ERROR;
+ }
f = tor_strdup(fname);
clean_name_for_stat(f);
log_debug(LD_FS, "stat()ing %s", f);
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits