diff options
| -rw-r--r-- | TODO | 6 | ||||
| -rw-r--r-- | midimonster.h | 2 | ||||
| -rw-r--r-- | plugin.c | 7 | 
3 files changed, 10 insertions, 5 deletions
| @@ -1,8 +1,8 @@  keepalive channels per backend?  Note source in channel value struct  Optimize core channel search (store backend offset) - +udp backends may ignore MTU  mm_managed_fd.impl is not freed currently (and is heaped most of the time anyway) -> documentation -  installer: implement an upgrade mode (check for newer versions in the repo) - +evdev.c:321 divides by zero with relaxis +make event collectors threadsafe to stop marshalling data... diff --git a/midimonster.h b/midimonster.h index 1f5c936..eb19409 100644 --- a/midimonster.h +++ b/midimonster.h @@ -92,7 +92,7 @@ struct _managed_fd;   * 		Parse instance configuration from the user-supplied configuration   * 		file. Returning a non-zero value fails config parsing.   * 	* mmbackend_channel - * 		Parse a channel-spec to be mapped to/from. The `falgs` parameter supplies + * 		Parse a channel-spec to be mapped to/from. The `flags` parameter supplies   * 		additional information to the parser, such as whether the channel is being   * 		queried for use as input (to the MIDIMonster core) and/or output   * 		(from the MIDIMonster core) channel (on a per-query basis). @@ -30,6 +30,11 @@ static int plugin_attach(char* path, char* file){  	char* path_separator = "/";  	#endif +	if(!path || !file || !strlen(path)){ +		fprintf(stderr, "Invalid plugin loader path\n"); +		return 1; +	} +  	lib = calloc(strlen(path) + strlen(file) + 2, sizeof(char));  	if(!lib){  		fprintf(stderr, "Failed to allocate memory\n"); @@ -37,7 +42,7 @@ static int plugin_attach(char* path, char* file){  	}  	snprintf(lib, strlen(path) + strlen(file) + 2, "%s%s%s",  			path, -			(path[strlen(path)] == path_separator[0]) ? "" : path_separator, +			(path[strlen(path) - 1] == path_separator[0]) ? "" : path_separator,  			file);  	handle = dlopen(lib, RTLD_NOW); | 
